{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CellTypist model with 32 cell types and 6639 features\n",
      "    date: 2022-07-16 08:53:00.959521\n",
      "    details: immune populations combined from 20 tissues of 18 studies\n",
      "    source: https://doi.org/10.1126/science.abl5197\n",
      "    version: v2\n",
      "    cell types: B cells, B-cell lineage, ..., pDC precursor\n",
      "    features: A1BG, A2M, ..., ZYX\n",
      "['B cells' 'B-cell lineage' 'Cycling cells' 'DC' 'DC precursor'\n",
      " 'Double-negative thymocytes' 'Double-positive thymocytes' 'ETP'\n",
      " 'Early MK' 'Endothelial cells' 'Epithelial cells' 'Erythrocytes'\n",
      " 'Erythroid' 'Fibroblasts' 'Granulocytes' 'HSC/MPP' 'ILC' 'ILC precursor'\n",
      " 'MNP' 'Macrophages' 'Mast cells' 'Megakaryocyte precursor'\n",
      " 'Megakaryocytes/platelets' 'Mono-mac' 'Monocyte precursor' 'Monocytes'\n",
      " 'Myelocytes' 'Plasma cells' 'Promyelocytes' 'T cells' 'pDC'\n",
      " 'pDC precursor']\n",
      "['A1BG' 'A2M' 'A2M-AS1' ... 'ZSWIM6' 'ZWINT' 'ZYX']\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sample</th>\n",
       "      <th>patient</th>\n",
       "      <th>celltype_orig</th>\n",
       "      <th>phenotype</th>\n",
       "      <th>dataset</th>\n",
       "      <th>total_counts</th>\n",
       "      <th>n_counts</th>\n",
       "      <th>n_genes</th>\n",
       "      <th>VI_clusters</th>\n",
       "      <th>refined_celltypes</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>GSM4089152_P2_AAACCTGAGGACGAAA.1</th>\n",
       "      <td>GSM4089152_P2</td>\n",
       "      <td>GSM4089152_P2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>CRPC</td>\n",
       "      <td>dong_2020</td>\n",
       "      <td>4166.170862</td>\n",
       "      <td>34879.0</td>\n",
       "      <td>6587</td>\n",
       "      <td>39</td>\n",
       "      <td>Epithelial</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>GSM4089152_P2_AAACCTGAGGTGCAAC.1</th>\n",
       "      <td>GSM4089152_P2</td>\n",
       "      <td>GSM4089152_P2</td>\n",
       "      <td>Epithelial cell</td>\n",
       "      <td>CRPC</td>\n",
       "      <td>dong_2020</td>\n",
       "      <td>3562.950153</td>\n",
       "      <td>18728.0</td>\n",
       "      <td>4422</td>\n",
       "      <td>39</td>\n",
       "      <td>Epithelial</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>GSM4089152_P2_AAACCTGCAATGTAAG.1</th>\n",
       "      <td>GSM4089152_P2</td>\n",
       "      <td>GSM4089152_P2</td>\n",
       "      <td>Epithelial cell</td>\n",
       "      <td>CRPC</td>\n",
       "      <td>dong_2020</td>\n",
       "      <td>3126.041177</td>\n",
       "      <td>8626.0</td>\n",
       "      <td>3460</td>\n",
       "      <td>39</td>\n",
       "      <td>Epithelial</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>GSM4089152_P2_AAACCTGCACAAGTAA.1</th>\n",
       "      <td>GSM4089152_P2</td>\n",
       "      <td>GSM4089152_P2</td>\n",
       "      <td>Epithelial cell</td>\n",
       "      <td>CRPC</td>\n",
       "      <td>dong_2020</td>\n",
       "      <td>3921.177541</td>\n",
       "      <td>28561.0</td>\n",
       "      <td>5829</td>\n",
       "      <td>39</td>\n",
       "      <td>Epithelial</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>GSM4089152_P2_AAACCTGGTACCGCTG.1</th>\n",
       "      <td>GSM4089152_P2</td>\n",
       "      <td>GSM4089152_P2</td>\n",
       "      <td>Epithelial cell</td>\n",
       "      <td>CRPC</td>\n",
       "      <td>dong_2020</td>\n",
       "      <td>3348.674227</td>\n",
       "      <td>15064.0</td>\n",
       "      <td>4291</td>\n",
       "      <td>39</td>\n",
       "      <td>Epithelial</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SCG-PCA22-T-HG_TTTGTCAGTGGGTCAA-1</th>\n",
       "      <td>hirz_PCA22_T</td>\n",
       "      <td>hirz_PCA22</td>\n",
       "      <td>Naive Th</td>\n",
       "      <td>PCa</td>\n",
       "      <td>hirz_2023</td>\n",
       "      <td>1005.024504</td>\n",
       "      <td>3349.0</td>\n",
       "      <td>871</td>\n",
       "      <td>4</td>\n",
       "      <td>T cell</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SCG-PCA22-T-HG_TTTGTCAGTGGTTTCA-1</th>\n",
       "      <td>hirz_PCA22_T</td>\n",
       "      <td>hirz_PCA22</td>\n",
       "      <td>B cells</td>\n",
       "      <td>PCa</td>\n",
       "      <td>hirz_2023</td>\n",
       "      <td>956.916235</td>\n",
       "      <td>1996.0</td>\n",
       "      <td>688</td>\n",
       "      <td>7</td>\n",
       "      <td>B cell</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SCG-PCA22-T-HG_TTTGTCAGTTAAAGAC-1</th>\n",
       "      <td>hirz_PCA22_T</td>\n",
       "      <td>hirz_PCA22</td>\n",
       "      <td>Mast cells</td>\n",
       "      <td>PCa</td>\n",
       "      <td>hirz_2023</td>\n",
       "      <td>988.562933</td>\n",
       "      <td>2639.0</td>\n",
       "      <td>861</td>\n",
       "      <td>11</td>\n",
       "      <td>Mast</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SCG-PCA22-T-HG_TTTGTCAGTTTAGCTG-1</th>\n",
       "      <td>hirz_PCA22_T</td>\n",
       "      <td>hirz_PCA22</td>\n",
       "      <td>CTL-2</td>\n",
       "      <td>PCa</td>\n",
       "      <td>hirz_2023</td>\n",
       "      <td>977.683187</td>\n",
       "      <td>2391.0</td>\n",
       "      <td>978</td>\n",
       "      <td>4</td>\n",
       "      <td>T cell</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SCG-PCA22-T-HG_TTTGTCATCATTTGGG-1</th>\n",
       "      <td>hirz_PCA22_T</td>\n",
       "      <td>hirz_PCA22</td>\n",
       "      <td>Naive Th</td>\n",
       "      <td>PCa</td>\n",
       "      <td>hirz_2023</td>\n",
       "      <td>995.243139</td>\n",
       "      <td>3685.0</td>\n",
       "      <td>838</td>\n",
       "      <td>4</td>\n",
       "      <td>T cell</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>327771 rows × 10 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                          sample        patient  \\\n",
       "GSM4089152_P2_AAACCTGAGGACGAAA.1   GSM4089152_P2  GSM4089152_P2   \n",
       "GSM4089152_P2_AAACCTGAGGTGCAAC.1   GSM4089152_P2  GSM4089152_P2   \n",
       "GSM4089152_P2_AAACCTGCAATGTAAG.1   GSM4089152_P2  GSM4089152_P2   \n",
       "GSM4089152_P2_AAACCTGCACAAGTAA.1   GSM4089152_P2  GSM4089152_P2   \n",
       "GSM4089152_P2_AAACCTGGTACCGCTG.1   GSM4089152_P2  GSM4089152_P2   \n",
       "...                                          ...            ...   \n",
       "SCG-PCA22-T-HG_TTTGTCAGTGGGTCAA-1   hirz_PCA22_T     hirz_PCA22   \n",
       "SCG-PCA22-T-HG_TTTGTCAGTGGTTTCA-1   hirz_PCA22_T     hirz_PCA22   \n",
       "SCG-PCA22-T-HG_TTTGTCAGTTAAAGAC-1   hirz_PCA22_T     hirz_PCA22   \n",
       "SCG-PCA22-T-HG_TTTGTCAGTTTAGCTG-1   hirz_PCA22_T     hirz_PCA22   \n",
       "SCG-PCA22-T-HG_TTTGTCATCATTTGGG-1   hirz_PCA22_T     hirz_PCA22   \n",
       "\n",
       "                                     celltype_orig phenotype    dataset  \\\n",
       "GSM4089152_P2_AAACCTGAGGACGAAA.1               NaN      CRPC  dong_2020   \n",
       "GSM4089152_P2_AAACCTGAGGTGCAAC.1   Epithelial cell      CRPC  dong_2020   \n",
       "GSM4089152_P2_AAACCTGCAATGTAAG.1   Epithelial cell      CRPC  dong_2020   \n",
       "GSM4089152_P2_AAACCTGCACAAGTAA.1   Epithelial cell      CRPC  dong_2020   \n",
       "GSM4089152_P2_AAACCTGGTACCGCTG.1   Epithelial cell      CRPC  dong_2020   \n",
       "...                                            ...       ...        ...   \n",
       "SCG-PCA22-T-HG_TTTGTCAGTGGGTCAA-1         Naive Th       PCa  hirz_2023   \n",
       "SCG-PCA22-T-HG_TTTGTCAGTGGTTTCA-1          B cells       PCa  hirz_2023   \n",
       "SCG-PCA22-T-HG_TTTGTCAGTTAAAGAC-1       Mast cells       PCa  hirz_2023   \n",
       "SCG-PCA22-T-HG_TTTGTCAGTTTAGCTG-1            CTL-2       PCa  hirz_2023   \n",
       "SCG-PCA22-T-HG_TTTGTCATCATTTGGG-1         Naive Th       PCa  hirz_2023   \n",
       "\n",
       "                                   total_counts  n_counts  n_genes  \\\n",
       "GSM4089152_P2_AAACCTGAGGACGAAA.1    4166.170862   34879.0     6587   \n",
       "GSM4089152_P2_AAACCTGAGGTGCAAC.1    3562.950153   18728.0     4422   \n",
       "GSM4089152_P2_AAACCTGCAATGTAAG.1    3126.041177    8626.0     3460   \n",
       "GSM4089152_P2_AAACCTGCACAAGTAA.1    3921.177541   28561.0     5829   \n",
       "GSM4089152_P2_AAACCTGGTACCGCTG.1    3348.674227   15064.0     4291   \n",
       "...                                         ...       ...      ...   \n",
       "SCG-PCA22-T-HG_TTTGTCAGTGGGTCAA-1   1005.024504    3349.0      871   \n",
       "SCG-PCA22-T-HG_TTTGTCAGTGGTTTCA-1    956.916235    1996.0      688   \n",
       "SCG-PCA22-T-HG_TTTGTCAGTTAAAGAC-1    988.562933    2639.0      861   \n",
       "SCG-PCA22-T-HG_TTTGTCAGTTTAGCTG-1    977.683187    2391.0      978   \n",
       "SCG-PCA22-T-HG_TTTGTCATCATTTGGG-1    995.243139    3685.0      838   \n",
       "\n",
       "                                  VI_clusters refined_celltypes  \n",
       "GSM4089152_P2_AAACCTGAGGACGAAA.1           39        Epithelial  \n",
       "GSM4089152_P2_AAACCTGAGGTGCAAC.1           39        Epithelial  \n",
       "GSM4089152_P2_AAACCTGCAATGTAAG.1           39        Epithelial  \n",
       "GSM4089152_P2_AAACCTGCACAAGTAA.1           39        Epithelial  \n",
       "GSM4089152_P2_AAACCTGGTACCGCTG.1           39        Epithelial  \n",
       "...                                       ...               ...  \n",
       "SCG-PCA22-T-HG_TTTGTCAGTGGGTCAA-1           4            T cell  \n",
       "SCG-PCA22-T-HG_TTTGTCAGTGGTTTCA-1           7            B cell  \n",
       "SCG-PCA22-T-HG_TTTGTCAGTTAAAGAC-1          11              Mast  \n",
       "SCG-PCA22-T-HG_TTTGTCAGTTTAGCTG-1           4            T cell  \n",
       "SCG-PCA22-T-HG_TTTGTCATCATTTGGG-1           4            T cell  \n",
       "\n",
       "[327771 rows x 10 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Author: Antti Kiviaho\n",
    "# Date: 24.8.2023\n",
    "\n",
    "import os \n",
    "os.chdir('/lustre/scratch/kiviaho/prostate_spatial')\n",
    "\n",
    "import anndata as ad\n",
    "import celltypist\n",
    "from celltypist import models\n",
    "import scanpy as sc\n",
    "\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "\n",
    "#Select the model from the above list. If the `model` argument is not provided, will default to `Immune_All_Low.pkl`.\n",
    "model = models.Model.load(model = 'Immune_All_High.pkl')\n",
    "#The model summary information.\n",
    "print(model)\n",
    "#Examine cell types contained in the model.\n",
    "print(model.cell_types)\n",
    "#Examine genes/features contained in the model.\n",
    "print(model.features)\n",
    "\n",
    "dat = sc.read_h5ad('aggregate_sc_data_with_broad_annotation_20230712.h5ad')\n",
    "dat.obs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "dat = dat[dat.obs['refined_celltypes'].isin(['T cell','Myeloid','Plasma','Dendritic','B cell','Mast'])]\n",
    "dat_immune_raw = ad.AnnData(X = dat.layers['counts'],var=dat.var,obs = dat.obs)\n",
    "sc.pp.normalize_total(dat_immune_raw,target_sum=1e4)\n",
    "sc.pp.log1p(dat_immune_raw)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "🔬 Input data has 159156 cells and 14819 genes\n",
      "🔗 Matching reference genes in the model\n",
      "🧬 4769 features used for prediction\n",
      "⚖️ Scaling input data\n",
      "🖋️ Predicting labels\n",
      "✅ Prediction done!\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAe8AAANzCAYAAACAspDcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAADgE0lEQVR4nOzdeVhUZf8/8PewDcswM+ybCCiKu7mkISrmQpqa5o64ZZSlZlppYhqYC+XzaJlWWq4lmrlrrvVVDLdMzSU1dxxQUEQYQNaZuX9/+PM8IqCoIBx5v67rXBdn7vvc9+fMjLznLIMKIYQAERERyYZZRRdAREREj4fhTUREJDMMbyIiIplheBMREckMw5uIiEhmGN5EREQyw/AmIiKSGYY3ERGRzDC8iYiIZIbhTVXasGHD4OvrW+gxhUKBqKioCqkHAJYtWwaFQoH4+PhymyM2NhYKhQKxsbGPve2wYcOgUqnKtJ527dqhXbt2ZTpmRbtx4wb69OkDJycnKBQKfPXVVxVdEj1HGN4kK5cuXcKIESNQo0YNWFtbQ61WIygoCHPnzkVOTk6Zz6dQKEq1PEkIlqXs7GxERUVVeB3lbebMmdi4cWNFl1Eq48aNw86dOxEREYGffvoJnTt3ruiS6DliUdEFEJXW1q1b0bdvXyiVSgwZMgQNGjRAfn4+9u3bh/Hjx+P06dP4/vvvy3TOn376qdD6jz/+iN9++63I43Xr1i2zOQcPHowBAwZAqVSWepvs7GxMnToVAJ67I9j7zZw5E3369EHPnj0rupRH2r17N3r06IGPPvqookuh5xDDm2ThypUrGDBgAHx8fLB79254eHhIbaNGjcLFixexdevWMp930KBBhdYPHTqE3377rcjjZcnc3Bzm5ublNn5VcefOHdjZ2VXY/Ddv3oRWqy2z8QwGA0wmE6ysrMpsTJIvnjYnWZg1axaysrKwePHiQsF9j7+/P95///1Cj61YsQLNmjWDjY0NHB0dMWDAACQkJJRpXUOHDoWzszMKCgqKtIWEhCAgIEBaVygUGD16NGJiYhAQEABra2s0a9YMf/zxR6HtirvmfeTIEbzyyitwdnaGjY0N/Pz8MHz4cABAfHw8XFxcAABTp06VTuU/7nX7uLg49O3bF9WrV4dSqYS3tzfGjRtX4uWIy5cv45VXXoGdnR08PT3x2Wef4cH/pNBkMuGrr75C/fr1YW1tDTc3N4wYMQJpaWmPVRtw9/m7c+cOli9fLu3jsGHDAABRUVFQKBQ4c+YMBg4cCAcHB7Ru3RoAcPLkSQwbNky61OLu7o7hw4cjNTW10Pj3xrh48SKGDRsGrVYLjUaDN954A9nZ2YX6/vbbb2jdujW0Wi1UKhUCAgIwadIkAP97/YQQ+Oabb6Ra70lPT8fYsWPh7e0NpVIJf39/fPHFFzCZTFKf+Ph4KBQK/Pe//8VXX32FmjVrQqlU4syZM4/9vNHziUfeJAtbtmxBjRo10KpVq1L1nzFjBqZMmYJ+/fohPDwcKSkpmDdvHtq2bYu///67zI6IBg8ejB9//BE7d+5Et27dpMeTk5Oxe/duREZGFuq/d+9erF69GmPGjIFSqcS3336Lzp074/Dhw2jQoEGxc9y8eRMhISFwcXHBxIkTodVqER8fj/Xr1wMAXFxc8N133+Hdd9/F66+/jl69egEAGjVq9Fj7smbNGmRnZ+Pdd9+Fk5MTDh8+jHnz5iExMRFr1qwp1NdoNKJz58546aWXMGvWLOzYsQORkZEwGAz47LPPpH4jRozAsmXL8MYbb2DMmDG4cuUK5s+fj7///hv79++HpaVlqev76aefEB4ejhYtWuDtt98GANSsWbNQn759+6JWrVqYOXOm9EHit99+w+XLl/HGG2/A3d1durxy+vRpHDp0qFCwAkC/fv3g5+eH6OhoHDt2DIsWLYKrqyu++OILAMDp06fRrVs3NGrUCJ999hmUSiUuXryI/fv3AwDatm2Ln376CYMHD0anTp0wZMgQaezs7GwEBwfj2rVrGDFiBKpXr44DBw4gIiICSUlJRW5qW7p0KXJzc/H2229DqVTC0dGx1M8XPecEUSWn1+sFANGjR49S9Y+Pjxfm5uZixowZhR4/deqUsLCwKPT40KFDhY+PT6F+AERkZGSxY48aNUrc/8/GaDSKatWqif79+xfqN2fOHKFQKMTly5cLjQtAHDlyRHrs6tWrwtraWrz++uvSY0uXLhUAxJUrV4QQQmzYsEEAEH/99VeJ+5ySkvLQuh+0Z88eAUDs2bNHeiw7O7tIv+joaKFQKMTVq1elx4YOHSoAiPfee096zGQyia5duworKyuRkpIihBAiLi5OABAxMTGFxtyxY0eRx4ODg0VwcPAj67azsxNDhw4t8nhkZKQAIEJDQ4u0Fbdfq1atEgDEH3/8UWSM4cOHF+r7+uuvCycnJ2n9yy+/FACk/SwJADFq1KhCj02bNk3Y2dmJ8+fPF3p84sSJwtzcXOh0OiGEEFeuXBEAhFqtFjdv3nzoPFQ18bQ5VXoZGRkAAHt7+1L1X79+PUwmE/r164dbt25Ji7u7O2rVqoU9e/aUWW1mZmYICwvD5s2bkZmZKT0eExODVq1awc/Pr1D/wMBANGvWTFqvXr06evTogZ07d8JoNBY7x72zBL/++muxp+fLio2NjfTznTt3cOvWLbRq1QpCCPz9999F+o8ePVr6+d4lgfz8fPz+++8A7h7JazQadOrUqdDr0KxZM6hUqjJ9He555513Hrpfubm5uHXrFl566SUAwLFjxx45Rps2bZCamiq9D++9Hps2bSp0qrs01qxZgzZt2sDBwaHQc9KxY0cYjcYil1B69+4tXRIhuh/Dmyo9tVoNAIXC8WEuXLgAIQRq1aoFFxeXQsvZs2dx8+bNMq1vyJAhyMnJwYYNGwAA586dw9GjRzF48OAifWvVqlXksdq1ayM7OxspKSnFjh8cHIzevXtj6tSpcHZ2Ro8ePbB06VLk5eWV6X7odDoMGzYMjo6OUKlUcHFxQXBwMABAr9cX6mtmZoYaNWoU2Q8A0rX6CxcuQK/Xw9XVtcjrkJWVVeavA4AiH5YA4Pbt23j//ffh5uYGGxsbuLi4SP0e3C/g7geq+zk4OACAdJ2+f//+CAoKQnh4ONzc3DBgwAD88ssvpQryCxcuYMeOHUWej44dOwJAkeekuP0hAnjNm2RArVbD09MT//zzT6n6m0wmKBQKbN++vdi7tsv6D4zUq1cPzZo1w4oVKzBkyBCsWLECVlZW6NevX5mMr1AosHbtWhw6dAhbtmzBzp07MXz4cMyePRuHDh0qk/0xGo3o1KkTbt++jY8//hh16tSBnZ0drl27hmHDhj32ESZw93VwdXVFTExMse3lcUR5/1H2Pf369cOBAwcwfvx4vPDCC1CpVDCZTOjcuXOx+1XSnf7i/19Dt7GxwR9//IE9e/Zg69at2LFjB1avXo327dtj165dD/2mgMlkQqdOnTBhwoRi2+99AHrY/hABDG+SiW7duuH777/HwYMHERgY+NC+NWvWhBACfn5+RX4ZlpchQ4bggw8+QFJSElauXImuXbtKR2z3u3DhQpHHzp8/D1tb20eG2UsvvYSXXnoJM2bMwMqVKxEWFoaff/4Z4eHhRW66elynTp3C+fPnsXz58kI3WP3222/F9jeZTLh8+XKh5/f8+fMAIP3Fupo1a+L3339HUFBQmYXQ4+5nWloa/u///g9Tp07Fp59+Kj1e3OvwOMzMzNChQwd06NABc+bMwcyZM/HJJ59gz5490lF0cWrWrImsrKyH9iEqDZ42J1mYMGEC7OzsEB4ejhs3bhRpv3TpEubOnQsA6NWrF8zNzTF16tQiX10SQhT5ilBZCA0NhUKhwPvvv4/Lly+X+D3wgwcPFrrOmpCQgE2bNiEkJKTEI7a0tLQi+/HCCy8AgHTq3NbWFsDdryE9iXtz3z+PEEJ6Toszf/78Qn3nz58PS0tLdOjQAcDdI16j0Yhp06YV2dZgMDxRrXZ2do+1XXH7BeCp/lTp7du3izz24OtRkn79+uHgwYPYuXNnkbb09HQYDIYnrouqFh55kyzUrFkTK1euRP/+/VG3bt1Cf2HtwIEDWLNmjfSd35o1a2L69OmIiIhAfHw8evbsCXt7e1y5cgUbNmzA22+/XeZ/9crFxQWdO3fGmjVroNVq0bVr12L7NWjQAK+88kqhr4oBkP46WnGWL1+Ob7/9Fq+//jpq1qyJzMxM/PDDD1Cr1Xj11VcB3D29Wq9ePaxevRq1a9eGo6MjGjRoUOLXzx5Up04d1KxZEx999BGuXbsGtVqNdevWlfh9bGtra+zYsQNDhw5Fy5YtsX37dmzduhWTJk2SziAEBwdjxIgRiI6OxvHjxxESEgJLS0tcuHABa9aswdy5c9GnT59S1XdPs2bN8Pvvv2POnDnw9PSEn58fWrZsWWJ/tVqNtm3bYtasWSgoKICXlxd27dqFK1euPNa89/vss8/wxx9/oGvXrvDx8cHNmzfx7bffolq1atJ3y0syfvx4bN68Gd26dcOwYcPQrFkz3LlzB6dOncLatWsRHx8PZ2fnJ66NqpAKusud6ImcP39evPXWW8LX11dYWVkJe3t7ERQUJObNmydyc3ML9V23bp1o3bq1sLOzE3Z2dqJOnTpi1KhR4ty5c1Kfp/2q2P1++eUXAUC8/fbbxbbj/391aMWKFaJWrVpCqVSKJk2aFPq6lhBFvyp27NgxERoaKqpXry6USqVwdXUV3bp1K/SVMyGEOHDggGjWrJmwsrJ65NfGivuq2JkzZ0THjh2FSqUSzs7O4q233hInTpwQAMTSpUulfkOHDhV2dnbi0qVLIiQkRNja2go3NzcRGRkpjEZjkbm+//570axZM2FjYyPs7e1Fw4YNxYQJE8T169elPqX9qti///4r2rZtK2xsbAQA6Wtj977mVdzXtxITE8Xrr78utFqt0Gg0om/fvuL69etFnqOSxnjw9fi///s/0aNHD+Hp6SmsrKyEp6enCA0NLfL1LxTzVTEhhMjMzBQRERHC399fWFlZCWdnZ9GqVSvx3//+V+Tn5wsh/vdVsf/85z+PfE6oalII8cD5JCJ6Ips2bULPnj3xxx9/oE2bNkXaFQoFRo0aVeh0MxHRk+A1b6Iy8sMPP6BGjRqPPHVKRPS0eM2b6Cn9/PPPOHnyJLZu3Yq5c+c+9Z3fRESPwvAmekqhoaFQqVR48803MXLkyIouh4iqAF7zJiIikhle8yYiIpIZhjcREZHMMLyJiIhkhuFNREQkMwxvIiIimWF4ExERyQzDm4iISGYY3kRERDLD8CYiIpIZhjcREZHMMLyJiIhkhuFNREQkMwxvIiIimWF4ExERyQzDm4iISGYY3kRERDLD8CYiIpIZhjcREZHMMLyJiIhkhuFNREQkMwxvIiIimWF4ExERyQzDm4iISGYY3kRERDLD8CYiIpIZhjcREZHMMLyJiIhkhuFNREQkMwxvIiIimWF4ExERyQzDm4iISGYY3kRERDLD8CYiIpIZhjcREZHMMLyJiIhkhuFNREQkMwxvIiIimWF4ExERyQzDm4iISGYY3kRERDLD8CYiIpIZhjcREZHMMLyJiIhkhuFNREQkMwxvIiIimWF4ExERyQzDm4iISGYY3kRERDLD8CYiIpIZhjcREZHMMLyJiIhkhuFNREQkMwxvIiIimWF4ExERyQzDm4iISGYY3kRERDLD8CYiIpIZhjcREZHMMLyJiIhkhuFNREQkMwxvIiIimWF4ExERyQzDm4iISGYY3kRERDLD8CYiIpIZhjcREZHMMLyJiIhkhuFNREQkMwxvIiIimWF4ExERyQzDm4iISGYY3kRERDLD8CYiIpIZhjcREZHMMLyJiIhkhuFNREQkMwxvIiIimWF4ExERyQzDm4iISGYsKroAomfFZDLh+vXrsLe3h0KhqOhyqIoQQiAzMxOenp4wM+PxEpUNhjdVGdevX4e3t3dFl0FVVEJCAqpVq1bRZdBzguFNVYa9vT2Au79E1Wp1BVdDVUVGRga8vb2l9x9RWWB4U5Vx71S5Wq1meNMzx0s1VJZ4AYaIiEhmGN5EREQyw/AmIiKSGYY3ERGRzDC8iYiIZIbhTUREJDMMbyIiIplheBMREckMw5uIiEhmGN5EREQyw/AmIiKSGYY3ERGRzDC8iYiIZIb/qxjRY8jMzMT6RcuRlXobBTl5UNrZwsmnGnoODoWVlVVFl0dEVQTDm6gUjh76EzsXx+Dyb/tgl3AbZvf9944FwoT/m/M9ar/SFr1HhcO3Zs0KrJSIqgKFEEJUdBFEz0JGRgY0Gg30en2p/z9vk8mEL8aMx5Vlm2CXa3xk/0wHG7SJeBdDP3jvacul58STvO+IHoVH3kQlMJlMmDL4beh//g12itLdHmKfloNDk79Clj4Do6Z+Us4VElFVxRvWiEow+8NJyFj9OyxLGdz3WOeb8M/sZVi9cHE5VUZEVR3DmyqtYcOGYfr06QCA2NhY+Pv7P7O54y9dwrmfNsMCikd3LoZ1rgF75i9DQUFBGVdGRMTwpifk6+sLW1tbqFQqODk5oV+/fkhLS6vossrM+m8Xwz4956nGsDijw8YfV5ZRRURE/8Pwpie2a9cuZGVlQafTIT8/H9OmTavokspEfn4+zu/Y+9TjWCrMcGzD9jKoiIioMIY3PTU7Ozu89tprOHv2bIl9du/ejebNm0OtVqNWrVqIi4sDANy+fRsDBw6Eq6sratSogeXLlz9yPpPJhDFjxsDZ2RlarRYvvvgibt26VWb7s2P9Rlj8m1gmYyXvO4aUlJQyGYuI6B7ebU5PLSMjAxs3bkTLli2Lbb98+TJ69uyJlStXokuXLrh27Rry8/MBAIMHD0bdunWRkJCAK1euoH379mjSpAkaNWpU4ny7du3CgQMHcPnyZdjZ2eHEiROwtrYu0i8vLw95eXmF6iyN9Ju3HvsmtZKYZeYg+fp1uLi4PNZ2QghkZ2fDzs6uTOqg0jOZTFi9cQt6d+vCP7xDlRaPvOmJdenSBVqtFg4ODjh//jzefffdYvutWrUK3bt3R7du3WBubo7q1avD398fycnJiI2NRXR0NJRKJerUqYOBAwdi/fr1D53X0tISmZmZ+Pfff2FmZoamTZtCpVIV6RcdHQ2NRiMt3t7epdovQ37Z3WRmAQWyMjIfe7u0tDRs2LSlzOp4UHp6Oq5evVpu4x8+drzUH5aehE6nK7exU1NT8X9/ncKly1fKbQ6ip8Xwpie2fft2pKenIzs7Gz179kTXrl2L7ZeYmAg/P78ij+t0OuTm5sLFxQVarRZarRYLFy5EcnLyQ+ft0KED3nnnHbz99tvw8PDARx99VOxd3REREdDr9dKSkJBQqv1S2tmUql9pFJgDrp4ej72do6MjBg0cUGZ1PEir1cLHx6fcxm/R9IVy/YMk1atXL7exXVxcsCh6MurWCSi3OYieFsObnppSqcTgwYNx9OjRYq89e3t7Iz4+vsjjXl5eUKlUSEtLQ3p6OtLT05GZmYkFCxY8cs5x48bh+PHj+Ouvv7Bz507ExMQUW5darS60lEbjl1ogy6ZsrihZ+HrAy8urTMYiIrqH4U1PraCgACtXroSrqyucnJyKtIeGhmLLli3Ytm0bTCYTEhIScOnSJXh5eSEwMBCTJ09GdnY2DAYDjh07hjNnzjx0viNHjuCvv/6CwWCAvb09LC0tYW5uXmb706DJC3Bs26RMxqoV0qbY6/FERE+D4U1PLCQkBCqVCs7OztizZw82btwIhaLoHzXx8/PDunXr8Mknn0Cj0aBDhw5ISkoCAMTExCAxMRE1atSAq6srxo4di5ych3+/Wq/XY/jw4dBqtQgICEBQUBAGDhxYpvvWtGcXFAjTU42RZWeJrm8PLaOKiIj+h/8xCVUZj/MfRBQUFGD0ix1h+8+T3xhl9epL+GLzqifenp4P/I9JqDzwyJuoGJaWlhj+1TTkuGueaPu8+tXx3vwvyrgqIqK7GN5EJWjZri36zJ+OHG/Hx9ouv6Ev3vtxHqqV4x3RRFS1MbyJHqJjz254e9W3UHZpiSw7yxL7CSGQ6WQHdb/2mPzrCtRtXPIfmSEielq85k1VxtNeezx9/AS2/vATLu05iLzbeijy8iFslLDzcEHtkDboO/ptePJrYfQAXvOm8sA/j0pUSvVfaIz63zQGcPdPr965cwdqtRoWFvxnRETPFn/rED0BpVIJpVJZ0WUQURXFa95EREQyw/AmIiKSGYY3ERGRzDC8iYiIZIbhTUREJDMMbyIiIplheBMREckMw5uIiEhmGN5EREQyw/CuouLj4wv9Wc927dphxYoVxfYdNmwYpk+fDgCIi4tD48aNn0mNRERUPIZ3JeTr6wtbW1uoVCo4OTmhX79+SEtLq+iyAABt2rTBiRMnKroMIqIqjeFdSe3atQtZWVnQ6XTIz8/HtGnTKrokIiKqJBjelZydnR1ee+01nD17tsQ+d+7cwciRI+Hp6QkHBwcMHjxYalu7di3q168PR0dHvPbaa7h58+ZT1RMbGwt/f39pXaFQ4LvvvoOfnx+cnZ0RHR0ttRmNRkRGRsLHxwdubm748MMPYTAYAACXLl1C27ZtodVq4enpiUmTJhWa57PPPoOrqyt8fX0xb968Qqf4dTodunbtCicnJ9StWxc7dux4qn0iIpIbhncll5GRgY0bN6Jly5Yl9hk7dix0Oh1OnjyJmzdvYsSIEQCAw4cPY+zYsfj5559x48YN1KlTByNHjizzGnfv3o1Tp04hNjYWU6dOxaVLlwAAc+bMQVxcHI4cOYJz587h2LFjWLBggbTdtGnTcOvWLezduxcrVqzAxo0bAQBbtmzBokWLcPDgQZw4cQK//vqrtI3JZEL37t3xyiuv4MaNG1iyZAkGDx6MGzduFKkrLy8PGRkZhRYioucBw7uS6tKlC7RaLRwcHHD+/Hm8++67xfYzmUz46aef8OWXX8LZ2RmWlpZo3bo1AGDJkiUYOXIkGjZsCEtLS0yZMgWbNm2Sjn7LysSJE6FSqdCgQQM0atQIp06dAgAsXrwY06dPh4uLC7RaLT788EOsXbsWAFCzZk0EBwfDwsICtWrVQlhYGPbt2wcAWLduHcLDw1GzZk1oNBpMmDBBmuvw4cPIycnBmDFjYGFhgcDAQAQHB2P79u1F6oqOjoZGo5EWb2/vMt3vnJycMh3vQWX9OhHR84PhXUlt374d6enpyM7ORs+ePdG1a1cAQExMDFQqFVQqFd555x2kpKQgLy8Pfn5+RcbQ6XSYMWMGtFottFotvL29YWFhgeTk5DKt1c3NTfrZ1tYWWVlZ0vz3PoRotVqEhYVJp+2vXbuG119/He7u7tBoNPjqq6+QmpoKAEhOTka1atWkMe//WafT4cqVK9KYWq0WO3bsQFJSUpG6IiIioNfrpSUhIaFM99vGxqZMx3vQ/ZcKiIjux98OlZxSqcTgwYPxxRdf4NatWwgLC0NYWJjUbjKZoFQqER8fX+haNAB4eXlh2rRp+OCDD4qMGx8fX96lw8vLC6tXr0bTpk2LtE2ePFk6q6BWqxERESEFsLu7O65duyb1TUxMLDRm3bp1cfLkyUfOr1QqoVQqy2BPiIgqFx55V3IFBQVYuXIlXF1d4eTkVKTdzMwMQ4YMwQcffIDU1FQUFBRg//79AIA33ngD8+fPl77adfv2bWzatOmZ1T58+HBMnjwZSUlJEEIgPj4ee/fuBQBkZmbC3t4eKpUK//zzT6HvmPfq1QuLFy/G5cuXkZGRgf/+979SW8uWLWEymfDdd98hPz8f+fn5iIuLg06ne2b7RURU0RjelVRISAhUKhWcnZ2xZ88ebNy4EQqFoti+c+bMgaenJ+rXrw83Nzd8//33AIBWrVrhv//9L4YMGQK1Wo2mTZtKwf4sjB8/HoGBgQgKCoJGo0H37t2lU9effvop9uzZA7VajTFjxqB3797Sdq+99hqGDRuGli1bomHDhujUqZN0BG1hYYGtW7di586d8PLygqenJ2bMmAGTyfTM9ouIqKIphBCioosgepidO3fivffew/nz559qnIyMDGg0Guj1eqjV6jKqjujh+L6j8sAjb6qUNm7ciIKCAiQnJ+Ozzz5Djx49KrokIqJKg+FNldJXX30FR0dHNGzYELVq1cKnn35a0SUREVUavNucKqXY2NiKLoGIqNLikTcREZHMMLyJiIhkhuFNREQkMwxvIiIimWF4ExERyQzDm4iISGYY3kRERDLD8CYiIpIZhjcREZHMMLyJiIhkhuFNREQkMwxvIiIimWF4V3FRUVEIDw8HAOh0Omi12oot6D7t2rXDihUrAADLli1Dx44dK7giIqLKgeEtMz/88AMaNmwIOzs7VK9eHUOHDkV8fHyZjF29enWkp6eXyVhERFR+GN4yMn36dHz66af44osvkJqairNnzyIoKAi7d++u6NKIiOgZYnjLRHp6OmbOnInvvvsOr776KqytrWFnZ4e3334bw4cPx8qVK9GuXbtC2wwdOhQzZ84EAFy5cgVdu3aFk5MTPDw88PXXXxeZIz4+HhYW//sv3n19fTF79mzUrVsXWq0Wo0ePltoMBgNGjx4NJycn1KlTB1988QX8/f1LrH/16tVo0KAB7O3t0bBhQ5w7dw7A3VP19+qqW7cuduzY8cjnIicnB6GhoXB0dISjoyPatGnzyG2IiJ4nFo/uQpXBwYMHkZ+fj27duhXb3rNnT7z77ru4du0avLy8kJubi40bN+L48eMwGAzo2rUr+vXrh3Xr1iE/Px8XLlwo1bwbN25EXFwccnNz0bRpU/Tu3Rsvv/wyvvvuO+zfvx9nz56F0WjEq6++WuIY+/fvx6hRo7Bp0yYEBgbi/PnzUKvVMJlM6N69O958801s2rQJf/31F1577TX8888/cHNzK3G85cuX486dO7h27RosLS1x8ODBYvvl5eUhLy9PWs/IyCjVPhMRVXY88paJ1NRUODs7Fzoyvp+trS169OiB1atXAwC2bt2K+vXrw8/PD3/++ScyMzPx6aefwtraGmq1Gs2aNSvVvGPHjoWzszOqVauGdu3a4cSJEwCAdevWYdy4cXB1dYWHh0eho/IHLVu2DCNGjEBQUBDMzMxQp04deHh44PDhw8jJycGYMWNgYWGBwMBABAcHY/v27Q+tydLSEqmpqbh8+TIsLCxKPPKOjo6GRqORFm9v71Ltc2WRnZ1d0SVUWgaDoaJLIKpQDG+ZcHJywq1btx76S2vQoEFYtWoVAGDVqlUYOHAgACAxMRE+Pj4wM3v8l/v+I2BbW1tkZWUBAJKTk1GtWjWp7f6fH5SYmAg/P78ij+t0Oly5cgVarVZaduzYgaSkpIfWNHjwYHTo0AGvv/46fHx8EB0dXWy/iIgI6PV6aUlISHjouJWNra1tRZdQaZX0IZaoqmB4y0RgYCAsLS2xdevWEvt06NAB165dw7Fjx7Bz5070798fAODt7Y2rV69CCFFm9bi7u+PatWvSemJiYol9vb29i70j3svLC3Xr1kV6erq0ZGVlISIi4qFzW1lZ4bPPPsP58+exc+dOzJ07F7GxsUX6KZVKqNXqQgsR0fOA4S0TWq0Wn3zyCUaOHIkdO3YgLy8P2dnZWLJkCZYsWQIAMDc3x4ABAzBkyBC0bt0aLi4uAIAWLVrA3t4e06ZNQ25uLjIyMnD06NGnqqdXr1746quvcPPmTSQnJ+Obb74pse/QoUOxcOFCHDx4EEIInDt3DklJSWjZsiVMJhO+++475OfnIz8/H3FxcdDpdA+de8+ePTh9+jRMJhPUajUsLCxgbm7+VPtDRCQnDG8ZmTx5MiIjIzF+/Hg4ODggICAAe/fuRYcOHaQ+gwYNwunTp6VT5sDdU4y//vorDhw4AA8PDwQEBJR4k1dpvfvuu2jZsiXq1KmD4OBg9OrVC0qlsti+QUFBmDt3LoYPHw61Wo2+ffsiIyMDFhYW2Lp1K3bu3AkvLy94enpixowZMJlMD507KSkJPXv2hFqtxosvvogRI0bwjnMiqlIUoizPpVKFS0lJgZ+fH5KTk6FSqZ7ZvAsXLsS6deuwa9euZzbn48rIyIBGo4Fer+cpdHpm+L6j8sAj7+eIEAJff/01+vTpU+7BnZmZid9//x1GoxEXL17EnDlz0KNHj3Kdk4iI7uItm88RDw8PaDQa7Ny5s9znMplMmDBhgvSd7QEDBuDtt98u93mJiIjh/VxJTk5+ZnNpNBocO3bsmc1HRET/w9PmREREMsPwJiIikhmGNxERkcwwvImIiGSG4U1ERCQzDG8iIiKZYXgTERHJDMObiIhIZhjeREREMsPwJiIikhmGNxERkcwwvImIiGSG4U1ERCQzDG+qNHx9fWFrawuVSgUnJyd07NgRmzdvltqNRiOio6NRu3Zt2NnZwc/PD++99x5u3bpVgVWXPd3Vq9iyegW2rf4Je3/fCaPRWNElEVElw/CmSmXXrl3IysrCv//+i/79+2Pw4MFYsGABAGDEiBFYtmwZli5divT0dBw7dgxeXl44fPhwBVdddvbu2obE/VvRpbYzQmq7oIFVFlZ+Mxt37typ6NKIqBLh/+dNlZKLiwveeust5OTkYPLkyWjTpg2WLFmCI0eOoGnTpgAABwcHTJw4sYIrLTu3bt2CKekiWjSqLT2msbdD/6AG2LrhF7w+6I0KrI6IKhMeeVOl9tprryE1NRWxsbGoXr26FNylkZeXh4yMjEJLWRJClOl4h//YjaAG/kUeNzMzg0Ve2dZe3goKCsr8+blfeY4NAL///n/lPgfR02B4U6Xm7u4O4O5R6b2fSys6OhoajUZavL29y7S2vLy8Mh1PmEwwMyv+n6SZzILk1q1byM/PL7fxTSZTuY0NAOfOX+C9BlSpMbypUktKSgIAODs7Izk5+bG2jYiIgF6vl5aEhIQyrc3a2rpMx6tZryHO6a4X21ZgZVumc5U3Dw8PKJXKchvf3Ny83MYGgFEj34GFBa8qUuXF8KZK7ddff4WTkxPatWsHnU6H48ePl3pbpVIJtVpdaKnM6tSrj39u5SHzTnahx/ecuIDGQe0rqCoiqowY3lQppaamYvHixZgyZQqmTp2K+vXrY/jw4QgNDcXBgwdhMBig1+vxn//8B9u2bavocstMv+Hv4K80M2w7cRk7T1zCtrNJCHi5O/xqFr0WTkRVl0LwrgyqJHx9fXHz5k2YmZnBysoKTZo0wejRo/H6668DuPs971mzZmHJkiW4fv06XF1d0b17d3z66adwdnZ+5PgZGRnQaDTQ6/WV/iicnh9831F5YHhTlcFfolQR+L6j8sDT5kRERDLD8CYiIpIZhjcREZHMMLyJiIhkhuFNREQkMwxvIiIimWF4ExERyQzDm4iISGYY3kRERDLD8CYiIpIZhjcREZHMMLyJiIhkhuFNREQkMwxvIiIimWF4ExERyQzDm4iISGYY3pWYr68vbG1toVKp4OTkhI4dO2Lz5s2F+hiNRkRHR6N27dqws7ODn58f3nvvPdy6dauCqiYiovLG8K7kdu3ahaysLPz777/o378/Bg8ejAULFkjtI0aMwLJly7B06VKkp6fj2LFj8PLywuHDh59qXoPB8LSll4rRaHzqMYQQMJlMZVANEZE8MLxlwsXFBW+99RamTZuGyZMnw2g04t9//8WSJUuwatUqBAUFwdLSEg4ODpg4cSJeffXVImPExsbC398fU6ZMgYODA2rXro3ffvtNavf19cWsWbNQt25d+Pv7AwDWrl2L+vXrw9HREa+99hpu3rwp9d+9ezeaN28OtVqNWrVqIS4uThpn3759Ur9hw4Zh+vTpAICoqCiEhoaid+/eUKlU2L17N5YsWQIfHx/Y29sjICAAsbGxAIC0tDSEhobC2dkZNWvWxMKFCwuNOXr0aLRv3x62tra4dOlS2T3ZRESVnEVFF0CP57XXXsP777+Pc+fOYe/evahevTqaNm1a6u3j4+NhNBpx48YNbNu2DX379sWVK1fg4OAAAFi/fj1iY2OhVqtx+PBhjB07Ftu3b0edOnXwySefYOTIkVi7di0uX76Mnj17YuXKlejSpQuuXbuG/Pz8UtWwYcMGbN68GWvWrEFOTg48PDxw9OhR1KpVC1evXpWOokePHg0A0Ol0uHjxIjp06IA6deogODgYAPDzzz9j586daNy4MYQQRebJy8tDXl6etJ6RkVHq56kyMBqNMDc3r+gyiKgSYnjLjLu7O4C7R6WpqanSemlZWFjg008/hZWVFXr27IkGDRpg+/btGDhwIADg/fffh5ubGwBgyZIlGDlyJBo2bAgAmDJlChwdHWEwGLBq1Sp0794d3bp1AwBUr1691DUEBwcjJCREWlcoFDh9+jSqV68OHx8fAHeDa82aNTh37hxsbW3RqFEjhIeHY+XKlVJ49+7dG82aNStxnujoaEydOvUxnp3KheFNRCXhaXOZSUpKAgA4ODjAyckJycnJj7W9i4sLrK2tpXVvb29pTACoVq2a9LNOp8OMGTOg1Wqh1Wrh7e0NCwsLJCcnIzExEX5+fk+0D/fPYWdnh1WrVuHrr7+Gm5sb+vbti+vXr+PWrVsoKCgo9KHAx8cH169fL3ac4kRERECv10tLQkLCE9VbUaysrCq6BCKqpBjeMvPrr7/CyckJAQEBePnll6HT6XD8+PFSb3/r1i3k5uZK6wkJCfDw8JDWFQqF9LOXlxemTZuG9PR0acnJyUG1atXg7e2N+Pj4Yuews7NDTk6OtH7jxo1C7ffPAQCvvvoqdu/ejcTERCiVSkyaNAnOzs6wtLSETqeT+ul0Onh6epY4zoOUSiXUanWhhYjoecDwlonU1FQsXrwYU6ZMwdSpU2Fubo46depg+PDhCA0NxcGDB2EwGKDX6/Gf//wH27ZtK3acgoICTJ8+HQUFBdi8eTP++ecfdOnSpdi+b7zxBubPn48TJ04AAG7fvo1NmzYBAEJDQ7FlyxZs27YNJpMJCQkJ0k1jjRs3xi+//AKj0Yjff/9dugGtODdu3MCvv/6KnJwcKJVK2NrawtzcHObm5ujTpw8mT56M7Oxs/PPPP1i8eDEGDBjwFM8iEdHzgeFdyYWEhEClUqFWrVpYuXIlli5dilGjRkntCxcuxJAhQzBkyBBoNBq88MILSEhIQIsWLYodz9fXFwqFAq6urvjwww+xevVq6Wa1B7Vq1Qr//e9/MWTIEKjVajRt2hT79+8HAPj5+WHdunX45JNPoNFo0KFDB+n0+9SpU/H3339Dq9Vi8eLF6NGjR4n7ZzKZMGvWLLi5ucHV1RXXrl2T7kyfP38+DAYDvL298dprryEqKgovv/zyEz2PRETPE4Uo7jZdei7FxsYiPDwcFy9erOhSKkRGRgY0Gg30ej1PodMzw/cdlQceeRMREckMw5uIiEhmGN5VSLt27arsKXMioucJw5uIiEhmGN5EREQyw/AmIiKSGYY3ERGRzDC8iYiIZIbhTUREJDMMbyIiIplheBMREckMw5uIiEhmGN5EREQyw/AmIiKSGYY3ERGRzFSa8B42bBimT59ebFt8fDwsLCyecUVlq0uXLli9enW5zvE8PE9ERPRojxXevr6+sLW1hUqlgpOTEzp27IjNmzeXV22ytWzZMnTs2LHQY9u3b0f//v3LdJ6HfeCRG4VCgcTExIoug4hIFh77yHvXrl3IysrCv//+i/79+2Pw4MFYsGBBedRGRERExXji0+YuLi546623MG3aNEyePBlGoxEAEBcXhyZNmkCr1SI4OBhnz56Vtnnw6Kpdu3ZYsWKFtH7jxg0EBwdDrVaje/fuuH37drFz3759GwMHDoSrqytq1KiB5cuXl1hnVFQUwsLC0LdvX9jb26Nly5a4cuWK1H7q1Cm0bdsWDg4OaNasGY4cOSK1/fnnn2jYsCHUajXeeecdBAcHS/X++eefePHFF6FWq+Hj44N58+YBAC5fvox33nkHsbGxUKlUqF+/fqF9zcnJgVqtxtWrV6V59u7dC39/fwCA0WhEZGQkfHx84Obmhg8//BAGg6HIfi1fvhwxMTGYNm0aVCoV3nnnHanthx9+gIeHB9zd3aXn5sCBA/Dz8ys0RmRkJN5++20Ad8+q/Oc//0HdunVhb2+PTz/9FOfOnUPz5s2h0WgKjW8ymRAZGQlvb294eHhgzJgxyMvLk9pXr16NBg0awN7eHg0bNsS5c+cwc+ZMDBs2rND8wcHBWLlyJUJCQgAAAQEBUKlUiIuLAwB88803qFWrFpydnTF06FDcuXMHAHD+/Hm0bt0aarUabm5uGD9+fAmvPhHRc0o8Bh8fHxEXF1fosStXrggA4vTp0+LWrVtCq9WKdevWifz8fDFr1izh7+8vCgoKhBBCABAJCQnStsHBweKnn34SQggxdOhQodFoxKFDh0R2drYIDQ0VgwYNkuYwNzeXtnv11VfFhx9+KHJzc8XZs2eFh4eHOHHiRLE1R0ZGChsbG7F7925RUFAgBg8eLIYMGSKEECIzM1N4enqKtWvXCoPBIDZs2CC8vb1FTk6OyM3NFZ6enmLRokUiPz9ffPPNN8LCwkKq9+jRo+Lo0aPCaDSKv/76S6jVanHs2DEhhBBLly4VHTp0KFTH/fs6cOBAMWvWLKnt3XffFZMmTRJCCDFr1izx8ssvi5s3b4q0tDTRrl07MW/evGL3bejQoWLatGlFXosxY8aIvLw8sXPnTmFnZycyMjKEEELUqFFDHDhwQOpfq1YtsWfPHum1DQ4OFqmpqeLs2bNCqVSKTp06CZ1OJ5KSkoSbm5vYvXu3EEKI77//XtSrV08kJCSIW7duiVatWonIyEghhBD79u0TTk5OYt++fcJoNIqzZ8+K69evi/j4eKHVakVOTo4QQoiEhARhb28vsrKyin1v/PLLL6JBgwYiPj5eej98+OGHQggh+vfvL2bOnClMJpPIysoSf/75Z7HPT25urtDr9dKSkJAgAAi9Xl9s/8rGYDBUdAlUBvR6vazedyQPTx3eOTk5AoDYt2+f+PHHH0Xbtm2lNqPRKDw9PaXAeFR4Dx06VGq7cOGCUCqVwmQyFQrvpKQkYWtrK/Lz86W+H374oRQeD4qMjBTdunWT1rdu3SoaN24shBBi1apVolOnToX6N2vWTOzZs0fs2bNH1KhRo1Cbt7e3VO+DBgwYIIXso8J706ZNonnz5kKIu7+gXV1dpQ8fAQEBYv/+/dJ2W7ZsEcHBwcXOWVJ437p1S3rMxcVF/P3330IIIaZMmSLee+89IYQQR44cEV5eXsJoNAoh7r6269atk7Zr0aKFmD17trTer18/8eWXXwohhGjfvr1YsmSJ1LZjxw5Ru3ZtIYQQ4eHh0geRB7Vp00aa47///a8IDQ2V2h58b7zyyisiJiZGWj916pTw8fERQggxaNAgMWLECHH9+vVi57knMjJSACiyyOWX6L0PvSRvDG8qD099t3lSUhIAwMHBAdevX0f16tWlNjMzM3h7e+P69eulGsvb27vQz3l5eUVOnet0OuTm5sLFxQVarRZarRYLFy5EcnIydDodVCpVodPVAODm5ib9bGtri6ysLGmsvXv3SuNotVqcPXsW169fR3JyMry8vArNff/66dOn0alTJ7i4uECj0WD9+vVITU0t1X527twZFy9exOXLlxEbGwtHR0c0atRIqqlLly5SPWFhYbh582apxgUAc3NzODk5Fbu/gwYNwpo1a2A0GrFq1SoMGDAAZmb/ewu4urpKP9vY2BRZvzfOg6+zj4+P9BonJiYWOT1/z6BBg7Bq1SoAwKpVqzBw4MAS90On02HEiBHS89C6dWukpKQAAGbNmoX8/Hy88MILaNKkCbZs2VLsGBEREdDr9dKSkJBQ4nyVEb85QEQleerfDr/++iucnJwQEBCAo0ePYtu2bVKbEAIJCQnw9PQEcDdIcnJypPYbN24UGuv+X64JCQlQKpVwdHREZmam9LiXlxdUKhXS0tKgUCiK1HMvYErDy8sLr7zySrF3zMfGxuLatWuFHrt/ffTo0WjTpg02b94MGxsbhIaGQggBAMXWdT8rKyv07NkTv/zyC65cuVLoLnQvLy+sXr0aTZs2fWT9j5rnQbVr14a3tzf+7//+D6tXr37ibwp4enpCp9NJ6zqdTnqNvb29ER8fX+x2ffv2xccff4yjR48iPj4er7zySolzeHl5Yfr06ejVq1eRNg8PDyxZsgRCCGzevBn9+vVDWloarK2tC/VTKpVQKpVPsIdERJXbEx95p6amYvHixZgyZQqmTp0Kc3NzdOnSBSdOnMCmTZtgMBjw5ZdfwsbGBs2bNwcANG7cGD///DOMRiN+/PFHXLx4sdCYmzZtwl9//YWcnBxERUWhT58+RQLKy8sLgYGBmDx5MrKzs2EwGHDs2DGcOXPmsfehW7du+Pvvv7Fx40YYDAbk5ORgx44d0Ov1CAwMRE5ODpYuXQqDwYAFCxZIZxkAIDMzE1qtFtbW1oiLi8PWrVulNldXVyQmJhZ7o9k9AwYMwMqVK7F+/fpC4T18+HBMnjwZSUlJEEIgPj4ee/fuLXYMV1fXEoOyJIMGDcIHH3wAlUqFJk2aPNa29/Tv3x+zZ8/GtWvXcPv2bUybNg0DBgwAAAwdOhQLFy7EwYMHIYTAuXPnCp2defnllzF06FD07dsXlpaWJe7L8OHDMXPmTFy6dAnA3TM8O3bsAACsXbsW169fh0KhgFarhUKheOwPMkREcvbY4R0SEgKVSoVatWph5cqVWLp0KUaNGgUAcHZ2xsaNGxEZGQknJyds2LABGzdulH5Jf/nll4iJiYGjoyOOHj2KVq1aFRo7LCwMH330Edzc3JCWloavvvqq2BpiYmKQmJiIGjVqwNXVFWPHji10RF9aGo0GW7duxbx58+Dq6gpfX198//33AO4eta1btw6zZ8+Go6Mjjh8/jhdffFE6kvviiy/wzTffQK1W46uvvsJrr70mjdu+fXv4+vrCxcVFOh3+oA4dOiApKQnu7u6oW7eu9Pj48eMRGBiIoKAgaDQadO/evcTTvcOHD8eff/4JrVaLkSNHlmqfBwwYgHPnzj30lPWjvPnmm3j99dfRokUL1KtXD40bN0ZERAQAICgoCHPnzsXw4cOhVqvRt29fZGRkSNsOGjQIp0+fLjL/p59+it69e0Or1WLfvn0IDQ3Fm2++ia5du0KtViM4OFj6gHb48GE0a9YMKpUK7777LlatWsUjbCKqUhTi3rleeighBKpVq4Y1a9YU+dAhJwUFBXBzc8Nff/2FmjVrPvP5jxw5gt69eyM+Pv6ZHy1nZGRAo9FAr9dDrVY/07mp6uL7jspDpfnzqJVRbGwsbt26hfz8fHzxxRdQKBTSJQC5Wr58ORo1alQhwW00GjFv3jy88cYbPM1NRPQUeDvrQ5w6dQr9+vVDTk4O6tati/Xr18PKyqqiy3piL730EhITE7Fhw4ZnPvft27dRvXp11K1bF3Pnzn3m8xMRPU942pyqDJ6+pIrA9x2VB542JyIikhmGNxERkcwwvImIiGSG4U1ERCQzDG8iIiKZYXgTERHJDMObiIhIZhjeREREMsPwJiIikhmGNxERkcwwvImIiGSG4U1ERCQzlTq8hw0bhunTpxfbFh8fDwuLyvOfotWvXx8HDx584vayEBsbC39//3Kdg4iIKt5Th7evry9sbW2hUqng5OSEjh07YvPmzWVRm6ycPn0agYGBAICoqCiEh4eX2F5W2rVrhxUrVpTpmBWhsn0QIyKq7MrkyHvXrl3IysrCv//+i/79+2Pw4MFYsGBBWQxNREREDyjT0+YuLi546623MG3aNEyePBlGoxEAEBcXhyZNmkCr1SI4OBhnz56VtlEoFEhMTJTWHzyavHHjBoKDg6FWq9G9e3fcvn272Llv376NgQMHwtXVFTVq1MDy5ctLrDMqKgqhoaHo2bMn7O3t0bZtW8THx0vtJdVrMpkwZswYODs7Q6vV4sUXX8StW7cA3D0DsW/fPsTGxmLmzJlYvnw5VCoVunTpUqg9ISEB9vb2yM7OluZbvnw5OnbsCADIycnB6NGj4enpiWrVquHzzz8vdh+mTZuGuLg4hIeHQ6VSYebMmVLbZ599BkdHR/j6+mLnzp0AgJUrV6Jdu3aFxhg6dKi0nUKhwDfffANfX19otVosXLgQBw4cQL169eDg4IBp06ZJ2+Xm5mLUqFFwd3dH9erV8dlnn8FkMkntX3/9NWrVqgV7e3u0aNECqampePvttxEVFSX1EULAz88PBw4cQEhICIxGI1QqFVQqFXQ6HYxGIyIjI+Hj4wM3Nzd8+OGHMBgMAIBDhw6hSZMmUKvV8PLywpdfflnia01E9FwST8nHx0fExcUVeuzKlSsCgDh9+rS4deuW0Gq1Yt26dSI/P1/MmjVL+Pv7i4KCAiGEEABEQkKCtG1wcLD46aefhBBCDB06VGg0GnHo0CGRnZ0tQkNDxaBBg6Q5zM3Npe1effVV8eGHH4rc3Fxx9uxZ4eHhIU6cOFFszZGRkcLS0lJs2bJF5OXlifHjx4s2bdoIIcRD692+fbto1qyZ0Ov1wmAwiKNHj4rMzMwiz0NkZKR48803S3yeWrVqJX755ReprUuXLuL7778XQggxcuRIERoaKjIzM8W1a9dEvXr1xJYtW4rdj/ufKyGE2LNnjzA3Nxeff/65KCgoEAsXLhTVq1cXQghx584doVarRWJiohBCiJycHKFWq8Xly5el16F///7izp07Yvfu3cLa2lr06tVLpKamirNnzwpra2tx6dIlIYQQkyZNEsHBweL27dvi6tWrolatWmLp0qVCCCFWrFghatSoIU6dOiWMRqM4evSoyMjIEHv37hW1a9eWat2/f7/w9fUt9rUUQohZs2aJl19+Wdy8eVOkpaWJdu3aiXnz5gkhhGjZsqVYsWKFEEKI27dvi2PHjhX7/OTm5gq9Xi8tCQkJAoDQ6/XF9q9sUlNTy21sg8Eg8vLyym388pafn1/RJZSaXq+X1fuO5KFcwjsnJ0cAEPv27RM//vijaNu2rdRmNBqFp6enOHDgwN0CHhHeQ4cOldouXLgglEqlMJlMhX7hJyUlCVtb20L/oD/88EMRGRlZbM2RkZEiODhYWr9z546wtLQU165de2i9v//+u6hdu7b4888/hclkKvF5eFR4z507V/Tp00cIcTd8bG1txa1bt4TJZBI2Njbi2rVr0nbz5s0r9Bzcr7jwVqvVwmg0SvsFQKSlpQkhhBg8eLCYPXu2EEKItWvXisDAQGlbAOLo0aPSuqurq1i3bp203qJFC7FhwwYhhBA1atQQu3fvltoWLFggQkJChBBCdOzYUfogcj+TySR8fHykOUaPHi0iIiKEEMWHd0BAgNi/f7+0vmXLFuk1a926tYiKinpkuEVGRgoARRa5/BK997qVB4PBIKsAfJCcamd4U3kol7vNk5KSAAAODg64fv06qlevLrWZmZnB29sb169fL9VY3t7ehX7Oy8srcupcp9MhNzcXLi4u0Gq10mnf5ORk6HQ66XRs/fr1ix3X1tYWTk5OSEpKemi9HTp0wDvvvIO3334bHh4e+Oijj1BQUPB4Tw6Avn37YseOHbhz5w7Wr1+Ptm3bwsnJCSkpKcjJyUG9evWk/Zg0aRJu3LhR6rFdXFxgZmYm7RcAZGVlAQAGDRqEVatWAQBWrVqFgQMHFtrW1dVV+tnGxqbI+r1xHnyOfHx8pNczMTERfn5+RepSKBQYOHAgVq1aBaPRiDVr1hSZ/346nQ5dunSRnoewsDDcvHkTALBo0SKcPn0a/v7+aN26dYl38UdERECv10tLQkJCifNVRlqtttzGNjc3h6WlZbmNX97kXDtRWSiXW3x//fVXODk5ISAgAEePHsW2bdukNiEEEhIS4OnpCeBuwOTk5EjtDwbV/b9wExISoFQq4ejoiMzMTOlxLy8vqFQqpKWlQaFQFKnnXuiUNG5OTg5SU1Ph4eEBT0/Ph9Y7btw4jBs3DgkJCXj11VfRoEEDDBs2rNDYxdVwPw8PDzRv3hxbtmzBL7/8gtDQUACAs7MzlEolLl++DEdHx4eOUZp5HtShQwcMGzYMx44dw86dO/Hdd9891vb3eHp6QqfToWbNmgDuBu2958fb27vQ/QP3GzRoEDp37oyOHTvCzc0NDRo0KHE/vLy8sHr1ajRt2rRIW0BAAH755RcYDAYsWLAAoaGhxc6pVCqhVCqfaB+JiCqzMj3yTk1NxeLFizFlyhRMnToV5ubm6NKlC06cOIFNmzbBYDDgyy+/hI2NDZo3bw4AaNy4MX7++WcYjUb8+OOPuHjxYqExN23ahL/++gs5OTmIiopCnz59ivyy9/LyQmBgICZPnozs7GwYDAYcO3YMZ86cKbHWAwcOYNu2bcjPz8fUqVPRokULeHp6PrTeI0eO4K+//oLBYIC9vT0sLS1hbm5eZGxXV1dcvXoVQogS5x8wYAC+/fZb7Nu3Dz179gRw9yh/6NCh+PDDD5Geng6TyYSzZ8/i8OHDxY7h6upaYlAWx9zcHAMGDMCQIUPQunVruLi4lHrb+/Xv3x/Tpk1DWloaEhISMGfOHAwYMADA3e/mf/HFFzhz5gyEEDh27Jj0QatevXpwdnbGhx9+WOio29nZGSaTqdCNi8OHD8fkyZORlJQEIQTi4+Oxd+9eAEBMTAxSU1NhYWEBe3v7Yl8DIqLn2tOed/fx8RE2NjbCzs5OODg4iPbt24v169cX6rNnzx7RuHFjoVarRevWrcWpU6ektkOHDomAgAChVqvFmDFjRNu2bQtd8x41apRo27atsLe3F6+++qpISUkRQhS9Tnrr1i0xZMgQ4ebmJhwcHESbNm3EkSNHiq05MjJSDBgwQPTo0UPY2dmJoKAg6cath9X7+++/iwYNGgg7Ozvh6uoqRo8eLQwGg/Q83LumffPmTfHSSy8JjUYjunbtWqRdCCFSUlKEhYWF6NatW6Ha7ty5I95//31RrVo1odFoRPPmzcWOHTuK3Y+4uDhRs2ZNodFoRHR0tNizZ4+oWbNmoT544J6Co0ePCgDixx9/fGi/B+u9//p6dna2eOedd4Srq6vw8vISkZGR0nV2IYT48ssvhZ+fn1CpVKJly5aFrk3Pnj1bKBQKcfXq1ULzR0RECCcnJ6HRaMTVq1dFQUGB+Oyzz4Sfn5+wt7cXDRo0kOYfOHCgcHJyEiqVSjRt2lTs27ev2OfnQbz2SBWB7zsqDwohHnJ4+JyKiopCYmIiFi1aVNGlPHMpKSnw8/NDcnIyVCrVM59/7dq1mDt3LuLi4p753BkZGdBoNNDr9VCr1c98fqqa+L6j8lCp/zwqlS0hBL7++mv06dOnQoI7Ly8P3333Hd58881nPjcR0fOEf5OyCvHw8IBGo5H+cMuzdPz4cQQFBaFt27YICwt75vMTET1PquRpc6qaePqSKgLfd1QeeNqciIhIZhjeREREMsPwJiIikhmGNxERkcwwvImIiGSG4U1ERCQzDG8iIiKZYXgTERHJDMObiIhIZhjeREREMsPwJiIikhmGNxERkcwwvImIiGSG4U0VwtfXF7a2tlCpVNKiUCikny0sLGBtbS2tx8TEICoqCpaWllCpVNBqtWjfvj3OnDlT0btCRPTMMbypwuzatQtZWVnSIoSQfu7YsSMWLFggrd/7P8CHDh2KrKwsJCUlwcvLC2+88UYF7wUR0bPH8CZZsrGxQWhoKE6fPl3RpRARPXMWFV0A0ZO4c+cOVq5ciRdeeKHEPnl5ecjLy5PWMzIyyrSG/Px8WFlZlemY9zMYDLCw4D9RIiqKR95UYbp06QKtViste/fufeQ2P/30E7RaLWrUqIH09HQsW7asxL7R0dHQaDTS4u3tXYbVA+bm5mU63oPMzPjPk4iKx4/1VGG2b9+O1q1bP9Y2gwcPxqJFi0rVNyIiAh988IG0npGRUaYBzvAmoorC8KbnllKphFKprOgyiIjKHD/aExERyQzDmypMSEhIoe95f/LJJxVdEhGRLCiEEKKiiyB6FjIyMqDRaKDX66FWqyu6HKoi+L6j8sAjbyIiIplheBMREckMw5uIiEhmGN5EREQyw/AmIiKSGYY3ERGRzDC8iYiIZIbhTUREJDMMbyIiIplheBMREckMw5uIiEhmGN5EREQyw/AmIiKSGYY3ERGRzDC8iYiIZIbhXUnFx8fDwsLiibaNjY2Fv7//E207bNgwTJ8+HQAQFxeHxo0bl2q7du3aYcWKFU80Z3Ee3P+yHp+ISM4Y3mXM19cXtra2UKlU0vLtt9+W65zlFWxt2rTBiRMnynxcIiJ6Ok92aEcPtWvXLrRu3bqiyyAioucUj7yfoXbt2iEyMhLNmzeHWq1G//79kZeXJ7XPnDkTbm5u8PX1xebNmwtte/r0abRp0wZarRbNmjXD/v37AQDTpk1DXFwcwsPDoVKpMHPmTGmbzz77DI6OjvD19cXOnTulx2/fvo2BAwfC1dUVNWrUwPLly4ut98HT7zNnzoSPjw/UajUCAwNx8uTJUu33nTt3MHLkSHh6esLBwQGDBw+W2tauXYv69evD0dERr732Gm7evPnI8Q4dOoQmTZpArVbDy8sLX375ZanqICJ6XjC8n7FffvkF69atg06nwz///IOVK1cCALZt24ZvvvkGcXFxOH78eKHwzs/PR/fu3dG3b1+kpKRgwoQJ6N69O9LS0jBlyhS0adMGixYtQlZWFiZNmgTg7jVjpVKJmzdvYtKkSXj77bel8QYPHgxPT08kJCRg27ZtiIiIKFUQ16lTB0eOHEFqaio6deqEIUOGlGqfx44dC51Oh5MnT+LmzZsYMWIEAODw4cMYO3Ysfv75Z9y4cQN16tTByJEjSzXeRx99hIyMDPzzzz9o165dsf3y8vKQkZFRaClLubm5ZTre/YxGI47uP1Bu42dkZCDh6tVyGz/hajxycnLKbfzyHJtIDhje5aBLly7QarXSsnfvXqktPDwcPj4+0Gq16Nq1q3RNec2aNXjrrbdQu3ZtaLVaTJw4Udrmzz//hMlkwpgxY2BpaYn+/fsjICAAO3bsKLEGOzs7jB8/HhYWFhg0aBB0Oh3S09ORnJyM2NhYREdHQ6lUok6dOhg4cCDWr1//yP3q1asXXFxcYGlpiUmTJuHkyZPIysp66DYmkwk//fQTvvzySzg7O8PS0lK6pLBkyRKMHDkSDRs2hKWlJaZMmYJNmzbBYDA8dExLS0tcvHgRt2/fhoODA5o0aVJsv+joaGg0Gmnx9vZ+5D4+DktLyzId735mZmbwrRNQbuPb2trCxc2t3MZ3cnGFUqkst/GtrKzKbWwiOWB4l4Pt27cjPT1dWoKDg6U2t/t+Ydra2krhl5SUVChc7v/5+vXrRYLHx8cH169fL7EGFxcXmJmZSfMAQFZWFnQ6HXJzc+Hi4iJ9uFi4cCGSk5MfuV8//PAD6tevD41GA3d3dwghkJqa+tBtUlJSkJeXBz8/vyJtOp0OM2bMkOrw9vaGhYXFI2tZtGgRTp8+DX9/f7Ru3RoHDx4stl9ERAT0er20JCQkPHIfH4e5uXmZjnc/hUIBJyenchvfwsIC1tbW5Ta+ra2t9P4rD+X53BPJAW9YqyQ8PDwKhcv9P987xX0/nU6HHj16ALj7i760vLy8oFKpkJaW9ljbxcfHY+zYsdi7dy+aNm2KvLw82NnZQQjx0O1cXFygVCoRHx9f5OtrXl5emDZtGj744INi5ytJQEAAfvnlFxgMBixYsAChoaHF9lcqleV69EdEVFF45F1J9OnTB4sWLcKFCxeg1+sxa9Ysqa1ly5YAgPnz58NgMGDNmjU4e/YsOnfuDABwdXV9aNjdz8vLC4GBgZg8eTKys7NhMBhw7NgxnDlz5qHbZWVlwczMDC4uLjAYDIiMjCzVfGZmZhgyZAg++OADpKamoqCgQLrZ7o033sD8+fOlSwe3b9/Gpk2bHjlmTEwMUlNTYWFhAXt7ex6FEVGVw/AuByEhIYW+5/3JJ588cpuuXbtixIgRCAoKQqNGjdCtWzepzcrKCps3b8aqVavg5OSE6OhobN68GQ4ODgCA9957D8uWLYNWq8Xnn3/+yLliYmKQmJiIGjVqwNXVFWPHjn3kDUANGjTAiBEj0KhRI/j6+sLPz6/U1x3nzJkDT09P1K9fH25ubvj+++8BAK1atcJ///tfDBkyBGq1Gk2bNpWC/WG2bduGgIAA2Nvb4+uvv8aPP/5YqjqIiJ4XCvGo855Ez4mMjAxoNBro9Xqo1eqKLoeqCL7vqDzwyJuIiEhmGN5EREQyw/AmIiKSGYY3ERGRzDC8iYiIZIbhTUREJDMMbyIiIplheBMREckMw5uIiEhmGN5EREQyw/AmIiKSGYY3ERGRzDC8iYiIZIbhTUREJDMMbyIiIplheMtQXFwcGjduXGL7smXL0LFjxycau127dlixYgUAICYmBt27dy/Vdr6+vti3b98TzVmc2NhY+Pv7l9v4RERyxvCuQL6+vrC1tYVKpZKWb7/99pHbtWnTBidOnCg0TnkEW1hYGLZs2VLm4xIR0dOxqOgCqrpdu3ahdevWFV0GERHJCI+8K6l27dphypQpaNKkCRwcHDB06FDk5OQAKHxKOTw8HDqdDiEhIVCpVIiJiQEAmEwmvPvuu1Cr1ahXrx6OHTsmja3T6dC1a1c4OTmhbt262LFjR7E1PHj6/b333oOnpye0Wi1CQkKg0+lKtS8pKSkYOHAgXF1d4ezsjIkTJ0pt33zzDWrVqgVnZ2cMHToUd+7ceeR4v/76KwICAmBvbw9fX1/8/PPPpaqDiOh5wfCuxH788UesXr0aV65cgU6nw8yZM4v0WbRoEapXr45du3YhKysLYWFhAO5eF2/bti3S0tLQq1cvjBs3DsDdUO/evTteeeUV3LhxA0uWLMHgwYNx48aNR9YTFBSEs2fPIikpCdWqVcOYMWNKtR9hYWGwtbXFpUuXkJCQgB49egAA1qxZgwULFuD3339HQkICCgoKEBkZ+cjxwsPDsWTJEmRmZuLQoUNo1KhRsf3y8vKQkZFRaClLt27dKtPx7peXl4e43b+X2/jnz5zG8T8Pltv4CQmJyMvLK7fxb9++XW5jA8DOLb+W6/hET4vhXcG6dOkCrVYrLXv37pXa3njjDdSuXRtarRaffPIJVq9eXepx69Spg9DQUJibm2PgwIHSNfLDhw8jJycHY8aMgYWFBQIDAxEcHIzt27c/cswBAwZAo9HAxsYGH3/8camus1+7dg2xsbGYO3cu7O3tYWNjg8DAQADA4sWLERERAR8fH9jY2GDSpElYu3btI8e0tLTE2bNnkZWVBXd3d9SrV6/YftHR0dBoNNLi7e39yLEfh5OTU5mOdz8rKyvUa9yk3MZ3r+YNL78a5Ta+p6cHrKysym18BweHchsbAF5q26Zcxyd6WgzvCrZ9+3akp6dLS3BwsNR2f9h4e3sjKSmp1OO6ublJP9va2iIrKwvA3VPmV65cKfSBYceOHaUae8aMGfD394darUaLFi2Qmpr6yG0SExPh6uoKOzu7Im06nQ4jRoyQ6mjdujVSUlIeOebatWuxYcMGVKtWDZ07d8bZs2eL7RcREQG9Xi8tCQkJjxz7cSgUijId78Gxy/PDgVqthour26M7PiFzc/Nyf37Kk0ajKdfxiZ4Ww7sSuz9sEhIS4OHhUWy/x/lF5uXlhbp16xb6wJCVlYWIiIiHbrd37158++232LZtG/R6PQ4fPlyq+by9vZGSkoLs7Oxia1m+fHmhWkpzzbtly5bYunUrbty4gcaNG+Pdd98ttp9SqYRarS60EBE9DxjeldiyZctw4cIF6PV6zJw5E/369Su2n6urK+Lj40s1ZsuWLWEymfDdd98hPz8f+fn5iIuLe+TNZ5mZmbC0tISzszPu3LmD6dOnl2o+T09PBAcHY9y4ccjKykJOTg4OHToEABg+fDhmzpyJS5cuAQCSkpJKvHnunvz8fKxcuRIZGRmwtLSESqWCubl5qWohInpeMLwr2L27xO8tn3zyidQ2aNAg9OvXDz4+PvDy8sKkSZOKHePjjz/GxIkTodVqsXLlyofOZ2Fhga1bt2Lnzp3w8vKCp6cnZsyYAZPJ9NDtOnfujKCgIPj4+KBhw4Zo1apVqfcxJiYG6enp8PX1RfXq1bF582YAQGhoKN5880107doVarUawcHBOHPmzCPHW758OXx8fODg4IDffvsN8+fPL3UtRETPA4UQQlR0EVRUu3btEB4ejkGDBlV0Kc+NjIwMaDQa6PV6nkKnZ4bvOyoPPPImIiKSGYY3ERGRzPDPo1ZSsbGxFV0CERFVUjzyJiIikhmGNxERkcwwvImIiGSG4U1ERCQzDG8iIiKZYXgTERHJDMObiIhIZhjeREREMsPwJiIikhmGNxERkcwwvImIiGSG4U1ERCQzDO8qQKfTQavVSuu+vr7Yt29fmYz9sLGWLVuGjh07lsk8RET0Pwzv55Cvry9sbW2hUqmgUqnQokULpKenV3RZT6QsP2gQET0vGN7PqV27diErKwtZWVlITk5+4nGMRmMZVkVERGWB4V0FxMfHw8Ki8H/dfuDAAdSuXRtOTk746KOPYDKZAABRUVEIDQ1F7969oVKpsHv3bpw+fRpt2rSBVqtFs2bNsH///lKN9aD33nsPnp6e0Gq1CAkJgU6nAwCYTCaMGTMGzs7O0Gq1ePHFF3Hr1i2Eh4dDp9MhJCQEKpUKMTExOH/+PFq3bg21Wg03NzeMHz++HJ4xIqLKjeFdRa1atQp//PEHTp06he3bt2Pp0qVS24YNGzBixAhkZGSgZcuW6N69O/r27YuUlBRMmDAB3bt3R1paWqnGul9QUBDOnj2LpKQkVKtWDWPGjAFw9yzBgQMHcPnyZaSmpmLhwoWwtrbGokWLUL16deksQlhYGD799FN07doVer0ely9fRt++fUvcx7y8PGRkZBRa5CQnJ6fcxs7OzkbKzZvlNn55E0JUdAlEFYrh/Zzq0qULtFottFotPvjggyLt77//Ptzd3eHp6Ylx48Zh9erVUltwcDBCQkJgZmaGEydOSEfGlpaW6N+/PwICArBjx45SjXW/AQMGQKPRwMbGBh9//LF0LdvS0hKZmZn4999/YWZmhqZNm0KlUhU7hqWlJa5evYrk5GTY2dmhRYsWJT4H0dHR0Gg00uLt7V2q566ysLGxKbexbW1t4eLqWm7jlzeFQlHRJRBVKIb3c2r79u1IT09Heno65syZU6T9/iDz9vZGUlKStF6tWjXp5+vXrxcJPR8fH1y/fr1UY91vxowZ8Pf3h1qtRosWLZCamgoA6NChA9555x28/fbb8PDwwEcffYSCgoJix5g1axby8/PxwgsvoEmTJtiyZUuJz0FERAT0er20JCQklNiXiEhOGN5V1P1BlpCQAA8PD2n9/qMaT0/PIqGn0+ng6elZqrHu2bt3L7799lts27YNer0ehw8fLtQ+btw4HD9+HH/99Rd27tyJmJiYIrUAgIeHB5YsWYLk5GRERUWhX79+yM3NLXYflUol1Gp1oYWI6HnA8K6i5s2bhxs3biApKQlfffUV+vXrV2y/li1bAgDmz58Pg8GANWvW4OzZs+jcufNjjZWZmQlLS0s4Ozvjzp07mD59utR25MgR/PXXXzAYDLC3t4elpSXMzc0BAK6uroiPj5f6rl27FtevX4dCoYBWq4VCoeApVCKqchjeVVS/fv3Qpk0bNGjQAJ06dcIbb7xRbD8rKyts3rwZq1atgpOTE6Kjo7F582Y4ODg81lidO3dGUFAQfHx80LBhQ7Rq1Upq0+v1GD58OLRaLQICAhAUFISBAwcCAD7++GNMnDgRWq0WK1euxOHDh9GsWTOoVCq8++67WLVqFZRKZRk/O0RElZtC8LZNqiIyMjKg0Wig1+t5Cp2eGb7vqDzwyJuIiEhmGN5EREQyw/AmIiKSGYY3ERGRzDC8iYiIZIbhTUREJDMMbyIiIplheBMREckMw5uIiEhmGN5EREQyw/AmIiKSGYY3ERGRzDC8iYiIZIbhTUREJDMMbyIiIplheNMjxcbGwt/fv6LLICKi/4/hXcktXrwYL7zwAuzs7ODh4YGQkBDs3LmzossqU1FRUQgPD6/oMoiIZIPhXYlNmzYNU6ZMwfTp05GSkoKEhARMmDABO3bsKNLXYDBUQIVERFQRGN6VVFpaGmbOnIkFCxagW7dusLW1hYWFBTp27Igvv/wSAKBQKDB//nz4+fnh5ZdfBgD06tULrq6ucHR0RN++fXH79m0AQHx8PCwsLPDDDz/Aw8MD7u7uWL58uTRfu3btsGLFCmn9YUfDp0+fRps2baDVatGsWTPs379faktJScHAgQPh6uoKZ2dnTJw4Ebm5udBqtbhy5YrUb8+ePahduzZiY2Mxc+ZMLF++HCqVCl26dAEA6HQ6dO3aFU5OTqhbt26hDywzZsyAh4cH1Go1GjZsiDNnzjzt001EJCsM70rq0KFDMBgM6Nq160P7/fbbbzhx4gR27doF4G54X7lyBVeuXEFmZiY+++wzqa/RaMQ///yDq1ev4scff8SoUaOQmZn5WHXl5+eje/fu6Nu3L1JSUjBhwgR0794daWlpAICwsDDY2tri0qVLSEhIQI8ePWBtbY1evXrh559/lsZZtWoVBg4ciHbt2mHSpEkYOnQosrKysH37dphMJnTv3h2vvPIKbty4gSVLlmDw4MG4ceMG/v33XyxYsAB///039Ho91qxZA0dHx2JrzcvLQ0ZGRqGF7jKZTDAajRVdBhE9IYZ3JZWamgpnZ2eYm5tLj7m7u0Or1cLa2lp6bOLEiVCr1bCxsQEADBo0CHZ2dtBoNBg3bhz27dtXaNxPP/0UVlZWCAkJkUL2cfz5558wmUwYM2YMLC0t0b9/fwQEBGDHjh24du0aYmNjMXfuXNjb28PGxgaBgYFSXatWrQIAFBQUYN26dRg4cGCxcxw+fBg5OTkYM2YMLCwsEBgYiODgYGzfvh0WFhbIy8vD2bNnYTQaUadOHbi7uxc7TnR0NDQajbR4e3s/1r4+z8zMzAq9t4hIXhjelZSjoyNu3bpV6OgoOTkZ//77L/Ly8qTHqlWrJv1sMBgwduxY+Pj4QK1Wo0+fPkhNTZXazc3N4eTkJK3b2toiKyvrseq6fv16kRD08fHB9evXkZiYCFdXV9jZ2RXZrl27dkhLS8Pp06exc+dO+Pn5oXbt2sXOodPpcOXKFWi1WmnZsWMHkpKS4O/vj9mzZ2PSpElwc3NDeHh4iUfUERER0Ov10pKQkPBY+0pEVFkxvCupwMBAWFhYYNu2bQ/tp1AopJ9jYmIQGxuLAwcOICMjA2vXroUQolTz2dnZIScnR1q/ceNGsf08PT2LhKBOp4Onpye8vb2RkpKC7OzsItuZmZkhNDQUq1atwqpVqxAWFlbsPgCAl5cX6tati/T0dGnJyspCREQEAGDw4ME4ePAgzp07h/j4eMyZM6fYWpVKJdRqdaGFiOh5wPCupBwcHPDxxx/j3XffxbZt25CTkwOj0Yg///yzxG0yMzNhbW0NBwcH3Lp1C//9739LPV/jxo2xfv165OXl4fjx41i7dm2x/Vq2bAkAmD9/PgwGA9asWYOzZ8+ic+fO8PT0RHBwMMaNG4esrCzk5OTg0KFD0raDBg3CihUr8Ouvv2LAgAHS466urrh69ar0QaNly5YwmUz47rvvkJ+fj/z8fMTFxUGn0+HcuXOIjY1Ffn4+bG1toVQqefqXiKochnclFhUVhU8//RQRERFwcnKCt7c35s2bV+LR+JAhQ+Dg4AA3Nze0adMGnTt3LvVc48aNQ15eHpydnTFhwoRC4Xo/KysrbN68GatWrYKTkxOio6OxefNmODg4ALh79J+eng5fX19Ur14dmzdvlrZt1KgR1Go1mjdvDg8PD+nxPn36ICsrCw4ODujWrRssLCywdetW7Ny5E15eXvD09MSMGTNgMpmQl5eH8ePHw8nJCdWrV5eu7RMRVSUKUdrzqkRloFu3bnj99dfx5ptvPvO5MzIyoNFooNfreQqdnhm+76g88MibnpkzZ87gwIED6NevX0WXQkQkawxveiYmTJiAl156CZ9//jns7e0ruhwiIlnjaXOqMnj6kioC33dUHnjkTUREJDMMbyIiIplheBMREckMw5uIiEhmGN5EREQyw/AmIiKSGYY3ERGRzDC8iYiIZIbhTUREJDMMbyIiIplheBMREckMw5uIiEhmGN5EREQyw/Cu4nx9fbFv375Cj0VFRSE8PBwAsHDhQtSuXRsqlQqenp5F/i/uDRs2oEWLFrCzs4Onpyd69eqFkydPSu0mkwkeHh7IzMxEu3btoFAocOXKlUJj1KxZEwqFQlpv164drK2toVKp4OrqisGDByMjI+ORbUREVQXDm0oUGxuLzz77DOvXr0dWVhaOHz+OkJAQqf2nn37CsGHD8P777+PmzZuIj4/HgAEDsH37dqnP4cOHERAQIP0f3rVq1cLKlSul9oMHD8Lc3LzI3IsWLUJWVhZOnDiB48ePY8aMGaVqIyKqChjeVKK//voLbdq0QYMGDQAArq6u0hG5yWTCxIkTMXXqVISFhcHOzg5WVlbo168fPv74Y2mMHTt2oHPnztJ6aGgoYmJipPUVK1YgLCysxBo8PDzQpUsXnD59+rHaiIieZwxvKlHLli2xZcsWTJ8+HX/++ScKCgqktnPnzuH69evo2bPnQ8d4MLxr1aoFlUqFv//+GwaDARs3bixyKv5+165dw/bt2/HCCy88VhsA5OXlISMjo9AiJwaDoaJLqLSMRmNFl0BUoRjehC5dukCr1UrL559/DgBo27Ytfv75Z+zfvx8dOnSAq6srpk+fDgBITU0FALi7u5c47u3bt5GYmIjGjRsXejwsLAwxMTHYsWMHXnzxRTg4OBTZdsSIEdBqtQgMDESrVq0wadKkUrXdLzo6GhqNRlq8vb0f74mpYBYWFhVdQqVV3KUWoqqEvx0I27dvR+vWraX1qKgoJCYmAgC6d++O7t27S0fJAwcORPPmzeHj4wMASE5Ohq+vb7Hj7tq1Cx07dix0MxoADBgwAC1btkRCQkKJp8wXLlyIQYMGPXbb/SIiIvDBBx9I6xkZGbILcCKi4vDIm0rFwsICffr0QaNGjfDPP/8gICAAnp6e2LRpU4nbPHjK/B43NzfUrl0bu3btQvfu3cutZqVSCbVaXWghInoe8MibSrRp0ybk5+cjJCQEarUav/32G06fPo0WLVrAzMwMn3/+Od577z24urritddeg5WVFbZs2YKLFy9iwoQJ+P333zFnzpxix16wYAHS0tJgbW39jPeKiEj+GN5UIgcHB0RFRWHEiBEwGAzw9vbG119/jbZt2wIABg8eDJVKhejoaISHh0Oj0eCll17C1KlTcfz4cVSrVg2Ojo7Fjl2jRo1nuStERM8VhRBCVHQR9Pz5/PPPkZubi6ioqIouRZKRkQGNRgO9Xs9T6PTM8H1H5YFH3lQu/Pz80LRp04oug4joucTwpnLRv3//ii6BiOi5xbvNiYiIZIbhTUREJDMMbyIiIplheBMREckMw5uIiEhmGN5EREQyw/AmIiKSGYY3ERGRzDC8iYiIZIbhTUREJDMMbyIiIplheBMREckMw5uIiEhmGN5EREQyw/CmSsHX1xf79u1DVFQUwsPDi+2Tk5ODCRMmwMfHByqVCrVr18bkyZNx586dZ1wtEVHFYniTLAgh0KNHD/zxxx/YsmULMjIy8McffyAnJweXLl2q6PKIiJ4pi4ougKg0du3ahX379uHixYvw9PQEALi7u2P27NkVXBk9axvmL8C5pSuh8PHE6J8Ww87OrqJLInrmeORNsrB79260aNFCCu7SyMvLQ0ZGRqGlLJ04cbxMxysy/smT5TZ2RkYGEhMTy238uIN/IjU1tVzGvvTzegRcS4X//pPYueqXMh9fCIEB4e8iKyurzMcmKisMb5KF1NRUuLu7P9Y20dHR0Gg00uLt7V2mNTVu/EKZjldk/EaNym1stVqNatWqldv4bQJbwsnJqVzGtgyoiRyTEVdcNWjU6qUyH1+hUGDaxI+gUqnKfGyissLwJllwcnJCcnLyY20TEREBvV4vLQkJCeVUHT1LoxbOg+sPs9B/80r416tbLnPU8q9ZLuMSlRVe8yZZaN++PebNm4fk5ORSH4ErlUoolcpyroyeNQsLC3Ts8VpFl0FUoXjkTZWO0WhEbm6utBQUFCAkJARBQUHo3bs3Tp06BZPJhJs3b+Ljjz/GyXK8NkxEVBkxvKnSWbZsGWxsbKSlS5cuUCgU2LRpE1q1aoWuXbtCrVYjKCgIVlZW8Pf3r+iSiYieKYUQQlR0EUTPQkZGBjQaDfR6PdRqdUWXQ1UE33dUHnjkTUREJDMMbyIiIplheBMREckMw5uIiEhmGN5EREQyw/AmIiKSGYY3ERGRzDC8iYiIZIbhTUREJDMMbyIiIplheBMREckMw5uIiEhmGN5EREQyw/AmIiKSGYY3ERGRzDC8iYiIZIbhXYn5+vpi3759AICoqCiEh4cX2y8nJwcTJkyAj48PVCoVateujcmTJ+POnTvPslwiInpGGN4yJ4RAjx498Mcff2DLli3IyMjAH3/8gZycHFy6dOmpxjYYDGVUZcmEEDCZTE89zrOolYiosmB4y9yuXbuwb98+rF+/Ho0aNYKZmRnc3d0xe/ZsNGrUqEj/ZcuWoX379njrrbegVqvxwgsv4Pjx41K7QqHA/Pnz4efnh5dffhkA8M0336BWrVpwdnbG0KFDCx3Rr169Gg0aNIC9vT0aNmyIc+fOSeMkJiZK/dq1a4cVK1YAAIYNG4bRo0ejffv2sLW1xaVLlzBjxgx4eHhArVajYcOGOHPmDAAgISEBr776KhwcHFCvXj1s2rSp0JhTpkxB8+bNYWdnh4KCgrJ7YomIKjGGt8zt3r0bLVq0gKenZ6m3+eOPP9C0aVOkpqbizTffRK9evQoduf722284ceIEdu3ahTVr1mDBggX4/fffkZCQgIKCAkRGRgIA9u/fj1GjRmHhwoXQ6/VYs2YN1Gp1qWr4+eef8Z///AeZmZnIzc3FggUL8Pfff0vjODo6AgBCQ0NRv359JCcn49tvv8WgQYNw8eJFaZxVq1bh559/hl6vh4WFRaE58vLykJGRUWiRE6PRWNElVFpCiIougahCMbxlLjU1Fe7u7o+1jbe3N959911YWlpi9OjRKCgowOHDh6X2iRMnQq1Ww8bGBosXL0ZERAR8fHxgY2ODSZMmYe3atQDuHsWPGDECQUFBMDMzQ506deDh4VGqGnr37o1mzZrBwsICNjY2yMvLw9mzZ2E0GlGnTh24u7sjISEBR44cwWeffQalUol27dqhW7duWLNmjTTOm2++CX9/f1hbW0OhUBSaIzo6GhqNRlq8vb0f63mqaObm5hVdQqX14GtNVNUwvGXOyckJycnJj7VNtWrVpJ8VCgWqVauGpKSkYtt1Oh1GjBgBrVYLrVaL1q1bIyUlBQCQmJgIPz+/J6r7/jn8/f0xe/ZsTJo0CW5ubggPD0dGRgauX78OFxcX2NjYSH19fHxw/fr1Ysd5UEREBPR6vbQkJCQ8Ua1ERJUNw1vm2rdvj8OHDz9WgN9/Lfre+v1HzPcf1Xh5eWH58uVIT0+XlnvXvL29vREfH1/sHLa2tsjJyZHWb9y4Uaj9wSOnwYMH4+DBgzh37hzi4+MxZ84ceHp6IiUlBbm5uVI/nU5X6BLBw47AlEol1Gp1oYWI6HnA8JYRo9GI3NxcaSkoKEBISAiCgoLQu3dvnDp1CiaTCTdv3sTHH3+MkydPFjtOQkICvv/+exQUFOCbb76BhYUFWrRoUWzf4cOHY+bMmdKd60lJSdixYwcAYOjQoVi4cCEOHjwIIQTOnTsnHcE3btwYP//8M4xGI3788cdC16kfdO7cOcTGxiI/Px+2trZQKpUwNzeHt7c3mjZtisjISOTn50t31Pfp0+dpnkYiItljeMvIsmXLYGNjIy1dunSBQqHApk2b0KpVK3Tt2hVqtRpBQUGwsrKCv79/seO0bdsWf/31FxwdHfH9999j7dq1RW72uic0NBRvvvmmNHZwcLB0J3hQUBDmzp2L4cOHQ61Wo2/fvtJNYV9++SViYmLg6OiIo0ePolWrViXuV15eHsaPHw8nJydUr14dGo0G48aNA3D3xrYTJ07A1dUVI0aMwPLly1GrVq2neRqJiGRPIXjbZpWybNkyrFixAr///ntFl/LMZWRkQKPRQK/X8xQ6PTN831F54JE3ERGRzDC8iYiIZIanzanK4OlLqgh831F54JE3ERGRzDC8iYiIZIbhTUREJDMMbyIiIplheBMREckMw5uIiEhmGN5EREQyw/AmIiKSGYY3ERGRzDC8iYiIZIbhTUREJDMMbyIiIplheBMREckMw5ueCV9fX9jZ2eHOnTvSY9nZ2bC3t4evr6/Ux8fHBwUFBVKfd955B1FRUQCA2NhYmJmZQaVSwd7eHg0bNsSmTZue5W4QEVUKDG96Zry8vLBx40ZpfdOmTfDw8CjUJzMzE0uXLi1xjBo1aiArKwt6vR7vvvsuBgwYgNu3b5dXyURElRLDm56Z0NBQxMTESOsrVqxAWFhYoT7jxo3DzJkzCx19F8fMzAzDhg1Dbm4uLl++XC71EhFVVgxvembat2+PU6dOISUlBSkpKTh58iQ6duxYqM/LL7+M6tWrY9myZQ8dy2g0YunSpbCzs4O/v3+xffLy8pCRkVFokYuT/5zGp9M/r+gyiKiSsqjoAqjqMDc3R58+fbB69WoAQO/evWFubl6kX2RkJMLDwzFs2LAibVeuXIFWq4W5uTlq1qyJdevWQavVFjtfdHQ0pk6dWpa78Mw0alAfdQNqV3QZRFRJMbzpmQoLC8OYMWMghMDXX38No9FYpE+HDh3g5eWF5cuXF2nz8/PDxYsXSzVXREQEPvjgA2k9IyMD3t7eT178M2ZpaVnRJRBRJcXT5vRMNW/eHLdv30ZaWhpefPHFEvtFRkaW6tr3wyiVSqjV6kILEdHzgOFNz9z69euxfv36h/bp1KkT3N3dC92dTkREdzG86ZmrV68e6tWr98h+kZGR/BoYEVExFEIIUdFFED0LGRkZ0Gg00Ov1PIVOzwzfd1QeeORNREQkMwxvIiIimWF4ExERyQzDm4iISGYY3kRERDLD8CYiIpIZhjcREZHMMLyJiIhkhuFNREQkMwxvIiIimWF4ExERyQzDm4iISGYY3kRERDJjUdEFENH/GAwG7Nm6CTnJOihMJhgtrdGsU1d4+/hWdGlEVIkwvIkqid2b1uH233sR6GINlbWV9PiJn/6LP6yc0G3EOGg02oorkIgqDZ42pycWFRWF8PDwii7jubBr7So4X9yHTt7qQsENAI09tOjqaMCm2VORmZlZQRUSUWXC8K6kfH19YWdnhzt37kiPZWdnw97eHr6+vhVXGJW55KTrwOk4+GjtSuyjUCjQ3dsWO1cseoaVEVFlxfCuxLy8vLBx40ZpfdOmTfDw8CjTOYxGY5mOR4/vwK/r0cLL4ZH9zMwUsLhxGXl5ec+gKiKqzBjelVhoaChiYmKk9RUrViAsLExanzlzJnx8fKBWqxEYGIiTJ09KbSkpKRg4cCBcXV3h7OyMiRMnArh7qjs0NBS9e/eGSqXC7t27cfr0abRp0wZarRbNmjXD/v37pXF8fX0xa9Ys1K5dG05OTvjoo49gMpmk9pycHPTt2xf29vZo2bIlrly5IrW999578PT0hFarRUhICHQ6ndT2559/omHDhlCr1XjnnXcQHByMFStWALj7gSIyMhI+Pj5wc3PDhx9+CIPBAAA4dOgQmjRpArVaDS8vL3z55Zdl9XRXnFsJUCgUpeoa6G6HuN92lHNBRFTZMbwrsfbt2+PUqVNISUlBSkoKTp48iY4dO0rtderUwZEjR5CamopOnTphyJAhUltYWBhsbW1x6dIlJCQkoEePHlLbhg0bMGLECGRkZKBly5bo3r07+vbti5SUFEyYMAHdu3dHWlqa1H/VqlX4448/cOrUKWzfvh1Lly4tNNbIkSORlpaGgIAAREVFSW1BQUE4e/YskpKSUK1aNYwZMwYAkJeXh169emHs2LFITU1Fo0aNcODAAWm7OXPmIC4uDkeOHMG5c+dw7NgxLFiwAAAwduxYfPTRR8jIyMA///yDdu3alfj85eXlISMjo9BSlnJzc8tkHDNDQan7WltaIO9O1lPPmZubi/T09Kcep6KU9xmjv4+fKNfxiZ4Ww7sSMzc3R58+fbB69WqsXr0avXv3hrm5udTeq1cvuLi4wNLSEpMmTcLJkyeRlZWFa9euITY2FnPnzoW9vT1sbGwQGBgobRccHIyQkBCYmZnhxIkTMJlMGDNmDCwtLdG/f38EBARgx47/Hd29//77cHd3h6enJ8aNG4fVq1dLbR06dMDLL78MCwsLDBgwACdO/O+X3oABA6DRaGBjY4OPP/4Y+/btAwAcPHgQ1tbWePPNN2FpaYmRI0cWuhywePFiTJ8+HS4uLtBqtfjwww+xdu1aAIClpSUuXryI27dvw8HBAU2aNCnx+YuOjoZGo5EWb2/vp3g1irK2ti6TcUwWlqXum1dggJWt7VPPaW1tDa1W+9TjVJT7/x2UhyYvNC7X8YmeFsO7kgsLC8PKlSsRExNT6JQ5APzwww+oX78+NBoN3N3dIYRAamoqEhMT4erqCju74m+AqlatmvTz9evXi4Saj48Prl+/Lq3f3+7t7Y2kpCRp3c3NTfrZ1tYWWVn/OyqcMWMG/P39oVar0aJFC6SmpgIAkpOT4eXlVWjO+9d1Oh26dOkCrVYLrVaLsLAw3Lx5EwCwaNEinD59Gv7+/mjdujUOHjxYwjMHREREQK/XS0tCQkKJfSuUczUIIUrV9WDyHbTp1KWcCyKiyo7hXck1b94ct2/fRlpaGl588UXp8fj4eIwdOxbLly9HWloakpKSoFAoIISAt7c3UlJSkJ2dXeyY919f9fT0LBJqOp0Onp6e0vr97QkJCaW6aW7v3r349ttvsW3bNuj1ehw+fFhqc3d3x7Vr1wr1v3/dy8sLe/bsQXp6OtLT06HX63HmzBkAQEBAAH755RfcvHkTAwYMQGhoaIk1KJVKqNXqQktlFNi1F45cS39kPyEEClx9y+yIn4jki+EtA+vXr8f69esLPZaVlQUzMzO4uLjAYDAgMjJSavP09ERwcDDGjRuHrKws5OTk4NChQ8WO3bJlSwDA/PnzYTAYsGbNGpw9exadO3eW+sybNw83btxAUlISvvrqK/Tr1++RNWdmZsLS0hLOzs64c+cOpk+fLrUFBgYiJycHS5cuhcFgwIIFCwodzQ8fPhyTJ09GUlIShBCIj4/H3r17AQAxMTFITU2FhYUF7O3ty/306bPg4ekFQ91AJOjvlNhHCIFfE7IRMuitZ1gZEVVWDG8ZqFevHurVq1fosQYNGmDEiBFo1KgRfH194efnByur//1xj5iYGKSnp8PX1xfVq1fH5s2bix3bysoKmzdvxqpVq+Dk5ITo6Ghs3rwZDg7/++pSv3790KZNGzRo0ACdOnXCG2+88ciaO3fujKCgIPj4+KBhw4Zo1aqV1KZUKrFu3TrMnj0bjo6OOH78OF588UUolUoAwPjx4xEYGIigoCBoNBp0795dOvrftm0bAgICYG9vj6+//ho//vhj6Z/ISqxzv0FI9gvE/yVkIDuv8A1sp29kYGuqObqOnVJpzx4Q0bOlEKW92EZVkq+vL1asWIHWrVuX2xxCCFSrVg1r1qwpFPJlLSMjAxqNBnq9vtKGYEFBAXZv2YC8GwlQCBOMVjZ44eXO8K3pX9Gl0ROSw/uO5Id/25wqRGxsLBo0aAC1Wo05c+ZAoVCgefPmFV1WhbO0tMQrvR59WYKIqjaGN1WIU6dOoV+/fsjJyUHdunWxfv36Qqf9iYioZDxtTlUGT19SReD7jsoDb1gjIiKSGYY3ERGRzDC8iYiIZIbhTUREJDMMbyIiIplheBMREckMv+dNVIXk5ORg/2+/I+NmCiAE7Bwd8FLHDtBoNBVdGhE9BoY3URVw7p/TiFvyI/SxB+F1LQU2CjMoFApkCBMWu/wHqrYv4cVB/dEk8KWKLpWISoF/pIWqjKr4xzJycnKwcNQ4WO85BM9cw0P7pliY4fZLjTD82y/h5OLyjCp8/lXF9x2VP17zJnpOZWZmYm6fQfDZFvfI4AYAF4MJteP+xpJ+Q3Htqu4ZVEhET4rhTfQcMhgM+G74O6h79F+YKxSl3k6hUCDgXx1WvDUamZmZ5VghET0NhjdVWr6+vti3bx8AICoqCuHh4RVckXxs+n4xasT9DcVjBPf9Ak5ewrovZpdxVURUVhjeVYSvry/s7Oxw584d6bHs7GzY29vD19f3qcZu164dVqxY8ZQVUllK2P47rBRP/s/bTKFAyu59MBgefbqdiJ49hncV4uXlhY0bN0rrmzZtgoeHR8UVROXiyB9xUB8/+9TjeF+6hh0xP5dBRURU1hjeVUhoaChiYmKk9RUrViAsLKxQn5kzZ8LHxwdqtRqBgYE4efKk1DZjxgx4eHhArVajYcOGOHPmDKZNm4a4uDiEh4dDpVJh5syZxc799ddfo1atWrC3t0eLFi2QmpoK4O7/6922bVs4ODigWbNmOHLkyCP3IyUlBV26dIFWq4WzszNCQ0Of5Ol4bp1YvwXOZXDAbGtmDt1ve55+ICIqcwzvKqR9+/Y4deoUUlJSkJKSgpMnT6Jjx46F+tSpUwdHjhxBamoqOnXqhCFDhgAA/v33XyxYsAB///039Ho91qxZA0dHR0yZMgVt2rTBokWLkJWVhUmTJhWZNyYmBnPnzsWGDRug1+uxYMECWFlZISsrC507d8b777+PW7duYcqUKejVqxdyc3Mfuh+zZ8+Gn58fbt26hWvXruG9994rtl9eXh4yMjIKLVWB8XZ6pRyLiMoOw7sKMTc3R58+fbB69WqsXr0avXv3hrm5eaE+vXr1gouLCywtLTFp0iScPHkSWVlZsLCwQF5eHs6ePQuj0Yg6derA3d29VPMuW7YMEydORIMGDWBmZoamTZvC3t4ev/76K+rXry/V0bNnT7i6uuLQoUMPHc/S0hJJSUlISEiAUqlEq1atiu0XHR0NjUYjLd7e3qV7oioBIQT+OvznE21rzMsrszoMj/ggVZKEhATklWEdDzKZTOU2NoBCZ5yIKiOGdxUTFhaGlStXIiYmpsgpcwD44YcfUL9+fWg0Gri7u0MIgdTUVPj7+2P27NmYNGkS3NzcEB4eXuoj2cTERPj5+RV5XKfTYe/evdBqtdJy9uxZXL9+/aHjjR8/HtWrV0dwcDDq1KmDxYsXF9svIiICer1eWhISEkpVb2WgUCjwYouWT7StubWyzOqwsLF5ou28vb2hVJZdHQ8yMyvfX12NGjUq1/GJnhbDu4pp3rw5bt++jbS0NLz44ouF2uLj4zF27FgsX74caWlpSEpKgkKhwL0/wjd48GAcPHgQ586dQ3x8PObMmQMAj/w6kre3N+Lj44s87uXlhVdeeQXp6enScufOHQwcOPCh46nVasydOxc6nQ7Lli3De++9h8uXLxfpp1QqoVarCy1VgYWzUxmO5VhmYxFR2WF4V0Hr16/H+vXrizyelZUFMzMzuLi4wGAwIDIyUmo7d+4cYmNjkZ+fD1tbWyiVSumUu6ura7HhfM+wYcPwxRdf4MyZMxBC4NixY8jMzES3bt3w999/Y+PGjTAYDMjJycGOHTug1+sfWv/WrVtx+fJlCCGg0WigUCiKnP6vypqH9kay5ZN9v/t+WcKEmt1CyqAiIiprDO8qqF69eqhXr16Rxxs0aIARI0agUaNG8PX1hZ+fH6ysrADcvflr/PjxcHJyQvXq1aHRaDBu3DgAwHvvvYdly5ZBq9Xi888/LzLuwIEDMWrUKHTr1g1qtRojR45EQUEBNBoNtm7dinnz5sHV1RW+vr74/vvvH1n/+fPn8fLLL8Pe3h5du3bFV199BR8fn6d8Vp4fjZo3R27zhk89zvUAH3Ts3asMKiKissb/mISqjKr0H0RsXrIc2ZO+gO0T/qEWoxDIGjUIg6dElHFlVU9Vet/Rs8Mjb6LnULdhg3H9lSAYn+CzuRAC51vWR78JH5RDZURUFhjeRM8hMzMzjPp+Pi60bYoCUfqvVZmEwNkXauGtxd+W693iRPR0GN5EzymlUokPVi5FSmhXXFZb41FXyHQ2lrj6ahu8ty4Gjs7Oz6hKInoSvOZNVUZVvvZ4MzkZ2xcsQsr/xUFzLh4qhRnMcPeO8jRfTzi+HIT2b70BX/+aFV3qc6cqv++o/DC8qcrgL1HAaDTi39OnkZJ4DQaDAa7e3qhTv570rQIqe3zfUXmwqOgCiOjZMTc3R/1GjQD+BTEiWeM1byIiIplheBMREckMw5uIiEhmGN5EREQyw/AmIiKSGYY3ERGRzDC8iYiIZIbhTUREJDMMbyIiIpmpsuG9bNkydOzYsaLLICIiemwVGt6+vr6ws7PDnTt3pMeys7Nhb28PX1/fiiusEhs2bBimT59e0WUQEVEFqvAjby8vL2zcuFFa37RpEzw8PCquoMdgMBgquoRy86z2zWg0PvUYQgiYTKX/P6uJiOSuwsM7NDQUMTEx0vqKFSsQFhZWqI9Op0PXrl3h5OSEunXrYseOHVLbhQsXEBgYCHt7e/Tu3Rv9+/eXjkwvXbqEtm3bQqvVwtPTE5MmTSq2BoPBgNDQUAwaNAhGoxFLlixB7dq1YW9vj0aNGiE2Nlbq265dO0yZMgXNmzeHnZ0dpk6dimHDhhUaLzg4GCtXrgQAxMXFoUmTJtBqtQgODsbZs2elfleuXJH2y8PDA19//TUSExOhVqsLnY1YunQpQkJCsHz5csTExGDatGlQqVR45513AACnTp1C27Zt4eDggGbNmuHIkSPF7mdsbCz8/f0xZcoUODg4oHbt2vjtt9+kdl9fX8yaNQt169aFv78/AGDt2rWoX78+HB0d8dprr+HmzZtS/927d6N58+ZQq9WoVasW4uLipHH27dsn9bv/bEFUVBRCQ0PRu3dvqFQq7N69G0uWLIGPjw/s7e0REBAgPd9paWkIDQ2Fs7MzatasiYULFxYac/To0Wjfvj1sbW1x6dKlYveZiOi5JCqQj4+PiI2NFdWqVRM3b94UN2/eFNWqVRP79u0TPj4+QgghjEajaNSokZg7d64oKCgQBw4cEM7OziI5OVkIIUSzZs3Ep59+KvLz88XmzZuFpaWlmDZtmhBCiIsXL4rY2FhRUFAgzp8/L7y9vcWGDRuEEEIsXbpUdOjQQeTn54tevXqJYcOGCaPRKIQQYuvWrUKn0wmDwSC+//574ebmJnJzc4UQQgQHB4uaNWuKCxcuiJycHBEfHy+0Wq3IyckRQgiRkJAg7O3tRVZWlrh165bQarVi3bp1Ij8/X8yaNUv4+/uLgoICUVBQIOrWrSsiIyNFTk6O0Ov14siRI0IIIV5++WWxcuVK6Xnq1KmTWLp0qRBCiKFDh0r7J4QQmZmZwtPTU6xdu1YYDAaxYcMG4e3tLdVzvz179ghzc3MREREh8vLyxIYNG4RGoxG3b9+WXo+WLVuK5ORkkZ2dLf7880/h5eUlTp48KfLz88X48eNF7969hRBCXLp0Sdjb24stW7YIg8Egrl69Ki5cuCCNExcXJ817f82RkZFCqVSKnTt3CqPRKLKysoS9vb04f/68EEKI+Ph4cfnyZSGEEAMHDhQDBgwQd+7cESdOnBDOzs4iNjZWGtPJyUkcOXJEFBQUiPz8/CL7m5ubK/R6vbQkJCQIAEKv1z/sbUlUpvR6Pd93VOYq/Mjb3Nwcffr0werVq7F69Wr07t0b5ubmUvvhw4eRk5ODMWPGwMLCAoGBgQgODsb27dsRHx+P06dPY9KkSbC0tET37t3RsmVLaduaNWsiODgYFhYWqFWrFsLCwgodEebl5eH111+Hk5MTlixZAjOzu0/Hq6++Cm9vb5ibm+Ott96CQqHAhQsXpO3efPNN+Pv7w9raGj4+PmjY8P+1d99hTZ3tH8C/WewM9h5uRXHVvdBaB2pduBAVtba1fVu1r3agVrDW1WUd/dnaVqsFKXVUWqTW2op71K2gOBEQEGSEFQhJnt8flPMS2RAIgftzXbkg55zcz50Qcuec85zn8UJUVBQAIDw8HOPGjYO5uTmioqLQtWtXTJ48GSKRCEuXLkVBQQH++ecfXLhwAbm5uVi1ahVMTEwgkUjwwgsvAABmzZqFsLAwAMDTp09x9uxZTJ48ucLXLzIyEp07d+Zet4kTJ8LOzg7nz5+vcHuhUIhVq1bByMgIEydORJcuXfD7779z6xcvXgx7e3uYmppi586dePPNN+Hl5QWRSIQPP/wQERERUKlUCAsLw8svv4xx48ZBIBDAzc2N21uvjre3N0aOHMm93jweDzExMSgqKoK7uztatWoFtVqNffv2Yd26dTAzM0PXrl2xYMEC7ogGAPj6+uKFF16AUCiESCQq18769eshlUq5m6ura43yq6nmfNqEENK06b14A4C/vz/27t2L0NDQCg+ZP3r0CDKZjLsdOXIEKSkpSE1Nha2tLYyNjbntXVxcuN+fPHmCSZMmwcHBAVKpFF9++SUyMjK49bdv30Z0dDQCAwPB4/G45YcOHULPnj259tLS0rQeV7YNQLvYhoWFYebMmQCA5ORkuLm5cdvx+Xy4uroiOTkZSUlJcHd35wpYWVOmTMGJEyeQlZWFffv2YfTo0ZBIJBW+dgkJCThx4oTW63P79m0kJydXuL2trS1MTEy4+66urkhJSanwuSUkJGDt2rVcXFdXVwiFQqSmpiIpKQmtWrWqsI3qlG3D3NwcYWFh2LJlC+zt7TF16lQkJyfj2bNnKC4u1nr93N3dtZ7X83+H5wUGBkIul3O3xMTEOuVbGaFQqNN4hBBSU02iePfq1QuZmZnIyspC7969tdY5OzujU6dOyM7O5m55eXkIDAyEg4MD0tPToVQque2TkpK431euXAlLS0vcvXsXcrkcS5YsAWOMW9+9e3d8/vnnGDlyJFJTUwGU7I37+flh7dq1yMjIQHZ2Nuzs7LQeV7bQA8DUqVNx7NgxXL58GfHx8Rg1ahQAwMnJCQkJCdx2jDEkJibCyckJrq6uePz4sVbcUhKJBKNGjcKBAwcQFham9YXm+badnZ0xatQordcnPz+f+wLxvGfPnqGwsJC7n5iYqNVBsGx8Z2dnrFmzRiu2QqGAi4sLXF1dER8fX2Eb5ubmUCgU3P2nT59qrX/+OYwZMwZ///03kpKSYGxsjOXLl8PGxgYikUjr9UtISICTk1OlcZ5nbGwMiUSidSOEkOagSRRvADh48CAOHjxYbnnfvn2h0Wiwfft2KJVKKJVKnDp1CgkJCfDw8ECnTp2wYcMGFBcX4/Dhw7hw4QL32NzcXIjFYlhYWODWrVsICQkpF//111/Ha6+9hhEjRiAzMxNFRUVQKpWws7MDAGzevBnp6elV5m5paYlhw4YhICAAU6dO5Q7h+vj44Pr169yh5k2bNsHU1BS9evVCnz59IBaLsWbNGhQWFiInJweXL1/mYs6aNQubNm3C7du3MWbMGG65nZ2dVtEcN24crl69ikOHDkGlUkGhUODIkSOQy+UV5lpcXIyPP/4YxcXF+PXXX3Hr1i34+PhUuO28efOwbds2XL9+HQCQmZmJiIgIACUdDX/77TdERUVBo9EgMTGR6zTWrVs3/Pzzz1Cr1Th27JhWh7/nPX36FJGRkVAoFDA2NoaZmRkEAgF3OmXlypUoKCjArVu38P3332PGjBlV/i0IIaQlaDLF29PTE56enuWWC4VCHD58GH/88QecnZ3h5OSEtWvXcpcGhYWF4fDhw7CyssLOnTsxbtw47jD6qlWrcPz4cUgkEixatAi+vr4Vtv3uu+9iwoQJ8PHxAY/Hw6effopRo0bBwcEBGRkZNTqXO2vWLMTExGjt8drY2ODQoUMICgqCtbU1fvnlFxw6dAgikQhCoRCRkZE4e/YsHB0d0aFDB5w7d457rI+PD54+fYpJkyZpnRaYP38+Lly4AJlMhjfffBNSqRSHDx/G1q1bYWdnBw8PD+zYsaPSPD08PMDj8WBnZ4elS5ciPDwclpaWFW47YMAAfPbZZ5gzZw4kEgl69uyJM2fOAABatWqFAwcOYMWKFZBKpRg+fDh3+H316tW4evUqZDIZvv/+e0yYMKHSfDQaDT755BPY29vDzs4OT5484Xqmb9u2DSqVCq6urhg/fjyCg4MxbNiwav8WhBDS3PFYRcdtDVj//v3x9ttvV3rYuKFcunQJvr6+iI+Pr/Zwbk116dIFmzdvxvDhw3USLzo6GgsWLMD9+/d1Es/Q5OTkQCqVQi6X0yF00mjofUcaQpPZ866rCxcuICEhAWq1GqGhobhx4wZGjBjRqDmo1Wps3boV8+bN01nh/vPPP1FQUEB7moQQQsox+O6ySUlJmDx5MrKzs9GqVSvs27cPtra2jdZ+ZmYm3Nzc0KlTJ2zevFknMadPn45jx45h9+7dFfZGJ4QQ0rI1u8PmhFSGDl8SfaD3HWkItFtHCCGEGBgq3oQQQoiBoeJNCCGEGBgq3oQQQoiBoeJNCCGEGBgq3oQQQoiBoeJNCCGEGBgq3oQQQoiBoeJNCCGEGBgq3oQQQoiBoeJNCCGEGBgq3oQQQoiBoeJNCCGEGBgq3s2Yh4cHzM3NkZ+fzy0rKCiAWCyGh4eH/hIjhBBSL1S8mzlnZ2ccOnSIux8REQFHR0f9JUQIIaTeqHg3c35+fggNDeXuh4SEwN/fn7sfExODwYMHQyaT4YUXXsCZM2e4dR4eHvj888/RqVMnyGQyvPXWW9w6jUaDoKAguLq6wtHREYsWLUJRUVGleXh4eODTTz9Fp06dIBaLsWrVKsTFxaFXr16QSqVYuHAht+2DBw8wZMgQyGQyODk5Yfny5VqxwsPD0aVLF4jFYnh5eSEuLq5erxEhhBgcRpotd3d3Fh0dzVxcXFhaWhpLS0tjLi4u7PTp08zd3Z0VFRWxVq1asc2bNzOlUsl++uknZmlpyTIzM7nHDxo0iKWnp7PExERma2vL/v77b8YYYzt27GCenp4sMTGRPXv2jA0YMIAFBQVVmYu3tzfLyMhgt2/fZsbGxmzEiBEsISGBpaSkMHt7ey72/fv3WXR0NCsuLmZ3795lrq6u7JdffmGMMXb69GlmbW3NTp8+zdRqNbt9+zZLTk6usM3CwkIml8u5W2JiIgPA5HK57l7kBpKbm8uuXb+p7zSIDsjlcoN53xHDQXvezZxAIMCUKVMQHh6O8PBw+Pr6QiAQAAAuXLgAjUaDRYsWQSQSYfr06ejQoQOOHDnCPX7JkiWwsbGBi4sLhg4diuvXrwMAfvrpJyxbtgwuLi6wtrbGqlWrEBYWVmUuixYtgpWVFTp27Ihu3bph9OjRcHV1hYODA7y9vbnYbdq0gbe3N4RCIdq1awd/f3+cPn0aAPDDDz/g9ddfx8CBA8Hn89GxY8dKTwOsX78eUqmUu7m6utb79Wwsf508g5CI3/WdRp1lZmZCpVI1WPyGjE2IIaDi3QL4+/tj7969CA0N1TpknpycXK6gubu7Izk5mbtvb2/P/W5mZoa8vDzusW5ubhU+bt26dbCwsICFhQXWrVvHbWNnZ8f9bmpqWu5+aewnT55g0qRJcHBwgFQqxZdffomMjAwAQFJSElq1alWj5x0YGAi5XM7dEhMTa/S4pmDCmFH4ZOUyfadRZ1ZWVhAKhQ0WvyFjE2IIqHi3AL169UJmZiaysrLQu3dvbrmTk1O5gpaQkAAnJ6dqYzo5OSEhIaHCxy1fvhx5eXnIy8srd766JlauXAlLS0vcvXsXcrkcS5YsAWMMAODq6or4+PgaxTE2NoZEItG6GRIej6fvFAghTRQV7xbi4MGDOHjwoNayvn37AgC2bdsGlUqFffv24fbt2xg9enS18aZPn47PP/8cT548QWZmJtasWYMZM2boJNfc3FyIxWJYWFjg1q1bCAkJ4dYFBATgm2++wblz58AYQ1xcHFJSUnTSLiGEGAo69tRCeHp6lltmZGSEX3/9FW+88QZWrFiBNm3a4Ndff4WlpWW18V555RUkJiaiT58+UKvVmDJlCgIDA3WS66pVqzBr1ixIJBL06dMHvr6+yM7OBgAMHDgQmzdvxvz587lD6Pv27aPL3wghLQqPlR6PJKSZy8nJgVQqhVwuN7hD6MRw0fuONAQ6bE4IIYQYGCrehBBCiIGh4k0IIYQYGCrehBBCiIGh4k0IIaRap06dQrdu3Rq1TcYYZs+eDZlMhkmTJukkZnx8vNYgP0OHDtW6HLWmDhw4gFdffbXWj7t79y769etX68c9j4o3IYQYIA8PD5iZmXGjGTo4OOg8fumwxAAwePBgbgjjxnLq1CmcOXMGqamp+OWXXxq17eqsXr0aS5cuBVAyHLC3tzesrKy0RpVUqVTo27ev1oBW7du3h4ODA3777bd6tU/FmxBCDNTRo0e50QxTU1PLrTf0MeATEhLQunVrmJiY6DsVLRcvXoRQKETHjh0BADt27MCgQYPw+PFj7Nmzhxs46quvvsLLL7+sNZQ0UDLb43fffVevHKh4E0JIMxEdHY22bdsiKCgINjY2CAoKqtMUuwsWLEBCQgJGjhwJCwsLhIaGcrFL1XU64edlZWXBz88PNjY2aNOmDb755hsAQGhoKBYsWIDo6GhYWFhgy5Yt5R6bn5+PN998E05OTrC0tMTs2bO5dfv370fnzp1hZWWF8ePHIy0trdrX7/z58+jRowckEgmcnZ2xadOmCrc7cuQIBg8ezN1//PgxvL29IRaL0aNHDyQkJCAtLQ179uzBu+++W+7xQ4YMwV9//VW/L1d6ndOMkEZEUzMSfWio9527uzs7deqU1rLjx48zgUDAVq9ezZRKJSsoKKjzFLvPxz9+/Dhr06YNY4zVazrh582cOZPNmDGD5efns+vXrzMbGxsWHR3NGGNs165dbPjw4ZW+BgsWLGBjx45l6enpTKlUcvleuHCBOTs7sxs3bjClUsneffdd5uvryxhj7NGjR0wgEHAxvL292Y8//sgYY6xv374sJCSEMcZYZmYmu3LlSoXtTpkyhW3dupW7v3nzZvb+++8zuVzOOnfuzNLT09n8+fPZr7/+WmnuEomE3blzp9L11aE9b0IIMVA+Pj6QyWSQyWT473//C6BkQp7ly5dDJBLB1NRUZ1PsllWf6YTLUqvV2LdvH9atWwczMzN07doVCxYswN69e6vNQaPR4Mcff8SmTZtgY2MDkUiEQYMGAQB27tyJN998E15eXhCJRPjwww8RERFR7Z6uSCTC/fv3kZmZCUtLS/To0aPC7bKzs2FhYcHdX7BgAVJSUjBkyBAsXboUDx8+RFpaGvr16wdfX18MHToUR48e1YohFoshl8urfZ6VoeJNCCEG6vfff0d2djays7PxxRdfAAAcHBy0elPraordsuoznXBZz549Q3FxcaXTC1clPT0dRUVFFeafkJCAtWvXcl9sXF1dIRQKK+wXUNZ3332HmJgYtG3bFoMGDcK5c+cq3E4qlWo9HzMzM+zevRvXrl3D3LlzsWzZMnzxxRdYv349fH19ERERgSVLlkCj0XCPyc3NhVQqrfZ5VoaKNyGENCPPTyVb1yl2q5qStj7TCZdVusdc2fTCVbG1tYWxsXGF+Ts7O2PNmjXcF5vs7GwoFAq4uLhUGbNDhw74+eefkZaWhhkzZsDPz6/C7by8vHDv3r0K1+3atQuDBg1Cu3btcPv2bfTq1QtSqRRSqRTp6ekAgNTUVKhUKrRp06ba51kZKt6EENKM1XWKXTs7u0oLe32mEy5LIBBgypQpWLlyJQoKCnDr1i18//33NZpemM/nY86cOfjvf/+LjIwMFBcXc53m5s2bh23btnGH6jMzMxEREVFtzNDQUGRkZEAoFEIsFkMgEFS43ejRo7Uuoysll8vx1VdfYcWKFQBKjiL8/fffePr0KZKSkmBtbQ0AOHnyJF588UWtIyS1RcWbEEKasVWrVuH48eOQSCRYtGgRfH19uXVlp9iVSCSYOnUqcnJyAADvv/8+PvjgA8hksnLnoEunEw4LC4O1tTXWr19f4+mEn1f6BcDV1RXjx49HcHAwhg0bVqPHfvHFF3ByckLnzp1hb2+PHTt2AAAGDBiAzz77DHPmzIFEIkHPnj21esNXJioqCh06dIBYLMaWLVuwZ8+eCrfr27cvlEol4uLitJYHBQXhvffeg7m5OYCS13D79u3o0qUL1qxZwxXrsLCwOg3wUhZNCUpaDJqakegDve+ap/379+Po0aPcF4aaunfvHmbPno1z585VeWqiOlS8SYtBH6JEH+h9RxoCHTZvhjw8PGBubo78/HxuWUFBAcRiMTw8PPSXWCV4PB6SkpL0nQYhhBgMKt7NlLOzMw4dOsTdj4iIqNH1m6RpiL1+DUd/OYjCwkJ9p0IIaYKoeDdTfn5+CA0N5e6HhITA39+fu1/XoQ01Gg2CgoLg6uoKR0dHLFq0CEVFRdz6ioZaXLduHebOnauVn7e3N/bu3YuRI0cCKLlEw8LCAqdOnQJQMiZwu3btYGNjg4CAAO4owt27dzFo0CBIJBLY29tXOPSgIWOMYVfwCiR/thKOkbuxd+Ec3L52Rd9pEUKamjqPzUaaLHd3dxYdHc1cXFxYWloaS0tLYy4uLuz06dPM3d29XkMb7tixg3l6erLExET27NkzNmDAABYUFMQYq3yoxfj4eCaTyZhCoWCMMZaYmMjEYjHLy8tjjDEGgCUmJnL5//zzz6xLly4sPj6eFRQUMD8/P7Z06VLGGGPTp09n69atYxqNhuXl5bELFy5U+joUFhYyuVzO3RITE5v88KgXTkSzE7PHsTuvTuJuIYH/1XdapB5oWF7SEGjPu5kqvX4yPDwc4eHh8PX15a5ZrM/Qhj/99BOWLVsGFxcXWFtbY9WqVQgLCwNQ+VCL7u7u8PLyQlRUFICSvfNx48Zxl1M87/vvv0dgYCDc3d1hamqK5cuXY//+/QBKhi98/PgxUlNTYW5ujj59+lT6Gqxfv54bHEEqlZYbEaq+lEqlTuMBQMqj+7Az1r72U5OTpfN2ioqKkJubq/O4peLjH2sdkdG1siNVEdISUfFuxvz9/bF3716EhoZqHTKvz9CGycnJlQ5lWNVQi7NmzeKKfFhYGGbOnFlp3gkJCXj99de5oQ0HDRrEjUz0ySefQKlUonv37ujRo0eVc+IGBgZCLpdzt+dHhKovIyMjncYDgL4jfHBd8b/CpNJowHdtrfN2jI2NIRaLdR63lIeHO4yNjRssPp9PH12kccnlchw5cgQhISEICQnBiRMnoFAo9JZP3Yd3IU1er169kJmZCQDo3bs3zp8/D6DyoQ0nTJhQbUwnJ6dKhzKsaqjFqVOn4v3338fly5cRHx+PUaNGVdqGs7MzPv74Y0yePLncOkdHR+zcuROMMfz666+YNm0asrKyKpzv19jYuEELSENwcHKC25w3cD7yAFh+HgSt2mPakuZ1Xp8QQ8EYwy+//IJr164hMzMTEomE+0y5efMmfv75Zzg6OmLAgAF48cUXGzU3Kt7N3MGDB8stKzu04cKFC/HLL7/UeGjD6dOn4/PPP8fIkSNhamqKNWvWcEMZBgQEYOLEiRg7diz69euHu3fvQiKRwNHREZaWlhg2bBgCAgIwdepUiEQiLmbpMIyl4w7Pnz8f69atQ7du3dCmTRukpKTg+vXrGD16NPbv348BAwbAyckJMpkMPB6vXgMdNEX9R45G/5G1G2aSEFLi2bNn2LdvH1JSUqBUKsHn82FsbIz27dtj8uTJNf5C//DhQ3z//fdgjMHY2Bi2trZa683MzGBmZga1Wo0jR47gzJkzePvttyGTyRrgWZVHxbuZ8/T0LLesdGjDN954AytWrECbNm1qPLThK6+8gsTERPTp0wdqtRpTpkxBYGAgAO2hFksPoe/bt4+7RG3WrFnw9fXF9u3btWKuWrUKvr6+KCoqQmRkJPz8/JCdnY2xY8ciOTkZDg4OWLhwIUaPHo2LFy/i7bffRm5uLtzc3BAWFmZwe9eEEG3x8fGIj4+HkZEROnfuXKfZtjIyMvDNN98gNTUVlpaWEAgEMDU15dbHxMTgwoULaNeuHRYuXFjpuOVAyV71rl27apyHubk51Go11qxZg/fee0/rtGNDoRHWSKO5dOkSfH19ER8fr5e9ZRrpiugDve8qptFocPDgQdy4cQPZ2dkwMzODRqNBYWEhnJ2d8eKLL6J37941ipWQkIDNmzdDLBZX+9lSXFwMoGQc8rJHAEtlZWVh9erVdRqnnTGG/Px8bNiwocovB7pAxZs0CrVajfnz56NVq1YIDg7WSw70IUr0oTm979RqNQ4fPozU1FTw+XwMHDgQnTp1qnUcpVKJNWvWQK1WV3rkLCcnBy+88EKVnVtLt/voo49q1QFTpVJBJBJh1apV5datXbsWxcXFdd7BKJ2f/LXXXqvT42uKDpuTBpeZmQk3Nzd06tQJmzdv1nc6hJA6OHr0KI4cOQJjY2Oug+iOHTtgYWGBxYsXw8bGpsaxNmzYAB6PV+UpL4lEgqtXr0IsFuPll1+udLvQ0FBYWFjU/IkAEAqFyM3NxZkzZzBw4EBueWxsLJ49e1av89YikQgxMTEoKCiAmZlZneNUh663IA3OysoKeXl5+OeffxqtMwchBLhy5Qp27NiBkJAQFBQU1DnOyZMncfToUUilUq0rO2QyGQQCATZu3Fjj6/ovXryInJycGh1WtrCwwIkTJyq9rl+j0eD+/ft12ksuO6JjqaNHj+rkM0oqlVbYWViXqHgTQkgz9M033yA0NBQpKSm4e/cuAgMD8ejRozrFOnr0aKWHpXk8HkxMTHDgwIEaxYqOjq7VIW6RSIQ//vijwnVRUVEVnreuqeTkZDx79oy7X/b3+hAIBFrjZjQEKt6EENLMJCYmIjY2ljvHLhAIYGVlhX379tU6VkxMjNYMhRURCoWIi4urUbyUlJRatW9iYoLY2NgK1yUlJWn1KK8tqVSKCxcuACjZi8/K0t1ohnK5XGexKkLFmxBCmpmzZ89W2Fs6Ozu71rHu3btXoz3lmo42VpdhhUt7iOsiVlml574B6Hw434YYPrksKt6EENLMeHp6Vjh2fV06UNnb29eoMNf08HVdLqGqLLZQWL8+12q1mttz1/Vwxw19qRgVb0IIaWa8vLwgk8m09ljlcnmNRlF8Xr9+/artEKbRaODu7l6jeM+PVFad4uJiODs7V7jO0tISKpWqVvHKysnJQdeuXQGUFFtdXspXl4FmaoOKNyGENEPLly9Hp06dYGxsDIlEggULFqBXr161jsPj8dC7d+8qe6vn5ORg6tSpNYrXu3fvWk3okZeXh0mTJlW4btKkSfWaHU8mk2lNpmRtbV3nWGUxxnQWqzJ0nTchhDRDAoFAazbB+pg6dSpycnJw48YNWFpacnviRUVFUCgUWLBgQY1HJBs5ciT+/vvvGm1bWFgILy+vSq8HNzExgYeHR506hykUCq1rvAGgf//+OHToUK2vG39eZmYm3nzzzXrFqA7teRNCCKnWK6+8gvfffx92dnYwNjaGmZkZevXqhU8//RSdO3eucRw+n4+lS5ciJycHVQ3wWVhYCEtLS8yfP7/KeJMnT0ZOTk6N2wdK9ow1Gg3GjBmjtXzAgAH1Pvet0Wjg4uICOzu7esWpDg2PSlqM5jRMJTEc9L6rWE5ODnbt2oVHjx7BwsKC65SWl5cHoVCIHj16YOrUqTUagOXixYsIDw+v0evLGENOTg6WL19e4ahwd+/exfbt2+s8WEt2dnath2utCyrepMWgD1GiD/S+q5pSqURkZCSys7MhEAjQrl07DBgwoNZxbt26hT179gAomeWrItnZ2ZBKpViyZEmVxfmPP/7An3/+WesCLJfLMXfuXK4TXEOi4k1aDPoQJfpA77vGwxjDqVOncObMGaSkpHATjBgbG8Pd3R0+Pj7o0KFDjWKdPHkShw4dglgsBp9f9Rnm4uJiFBcXIyAgoMJpmBsCFW/SYtCHKNEHet/pT3FxMQQCQbXFtzK5ubnYtWsXHj58CFNTU61x3QEgPz8fGo0GnTp1QkBAQL2vO68NKt6kWh4eHggJCcGgQYP0nUq90Ico0Qd63xk+pVKJkydPIj4+HoWFhQBKJjZp3749+vXrV+cvB/VBl4o1Ex4eHkhPT0daWhp3vqegoAD29vawtrZGfHy8fhOsRHx8PNq2bVuvgRYIIaQhGRkZ4aWXXtJ3GlroUrFmxNnZGYcOHeLuR0REwNHRUX8JEUIIaRBUvJsRPz8/hIaGcvdDQkK4QRrWrVuHuXPnam3v7e2NvXv3AgBu3ryJIUOGwNLSEi+88AIuXbpUYRuFhYX4z3/+AwcHB7i5ueGjjz7Smmt3y5YtaNeuHcRiMfr06YOMjAy89tprCA4O5rZhjKFVq1Y4e/YsRo4cCbVaDQsLC1hYWCAhIQFqtRpBQUFwd3eHvb09li5dyu2Znz9/Hj169IBEIoGzszM2bdqki5eOEEIMCyPNgru7O4uOjmYuLi4sLS2NpaWlMRcXF3b69Gnm7u7O4uPjmUwmYwqFgjHGWGJiIhOLxSwvL4/l5uYyJycntn//fqZSqdgvv/zCXF1duW3d3d3ZqVOnGGOMLV++nHl7e7PMzEz2+PFj1q5dO7Zr1y7GGGMhISGsdevW7ObNm0ytVrPLly+znJwcduLECda+fXsu1zNnzjAPDw/GGGOPHj1iAoFA67l88sknbNiwYSwtLY1lZWWxoUOHsq1btzLGGOvbty8LCQlhjDGWmZnJrly5UulrUlhYyORyOXdLTExkAJhcLtfBK97wVCqVvlMgOiCXy/X6vissLGRBQUGssLCQYjbRmHVBxbuZKC2wS5YsYVu3bmVbt25lixcvZufOnWPu7u6MMcYGDx7MDhw4wBhj7LPPPmN+fn6MMcbCwsLYiBEjtOK98MIL7Pjx41qxGWOsdevW7O+//+a2+/rrr9nIkSMZY4y99NJLbMeOHeVy02g0zN3dnV2+fJkxxthbb73FAgMDGWMVF+8OHTqwM2fOcPd/++035u3tzRhjbNCgQSw4OJhlZGRU+5oEBQUxAOVuhlC8i4qK2O+HDzdYfLVazYqLixssPvkffRfvhmifYur/c4QOmzcz/v7+2Lt3L0JDQ8uNazxr1iyEhYUBAMLCwjBz5kwAQEJCAk6cOAGZTMbdbt++jeTk5HLxk5OT4ebmxt13d3fntktKStIa5L8Uj8fDzJkzERYWBrVajX379nFtVyQhIQE+Pj5cLv7+/khLSwMAfPfdd4iJiUHbtm0xaNAgnDt3rtI4gYGBkMvl3C0xMbHSbZsaIyMjjH5u6EZd4vP5jXpZCyFEt6h4NzO9evVCZmYmsrKy0Lt3b611U6dOxbFjx3D58mXEx8dj1KhRAEo6uo0aNQrZ2dncLT8/v8IC6+TkhISEBO5+QkICnJycAACurq6V9mqfNWsWwsPDcezYMdjb26NLly4AUOHQh87Ozjh+/DiXi1wuR2xsLACgQ4cO+Pnnn5GWloYZM2bAz8+v0teidDalsjdCCGkOqHg3QwcPHsTBgwfLLbe0tMSwYcMQEBCAqVOncmMJjxs3DlevXsWhQ4egUqmgUChw5MiRCmfqmT59OtasWYOsrCwkJibiiy++wIwZMwAAc+fOxcaNGxEbGwvGGK5cucJN1+fp6QkbGxssXbpU60uBjY0NNBoNkpKSuGXz58/HypUrkZKSAsYY4uPjceLECQBAaGgoMjIyIBQKIRaLG3zCe0IIaYqoeDdDnp6elQ7RN2vWLMTExGgVUKlUisOHD2Pr1q2ws7ODh4cHduzYUeHjP/zwQ3To0AEdO3ZE//79MWPGDAQEBAAAZs6cif/85z8YN24cJBIJ3nzzTRQXF2u1HRsbq7W3bG5ujg8++ADdu3eHTCZDQkIC3n33XfTv3x8DBw6EVCrFyy+/zB3yjoqKQocOHSAWi7FlyxZuLGNCSMWMjY0RFBRU6bSaFFP/MeuCRlhrYS5dugRfX1/Ex8fXaLYeXdq/fz82b96MU6dONWq7pWikK6IP9L4jDYH2vFsQtVqNrVu3Yt68eY1euIuKirB9+3a88sorjdouIYQ0R1S8W4jMzExIpVLExsZiyZIljdr2tWvXYGVlBSMjo3I94AkhhNQeXSvSQlhZWSEvL08vbXfv3h35+fl6aZsQQpoj2vMmhBBCDAwVb0IIaQaKioowf/58uLm5QSKRoF+/flqDGG3YsAG2trawsrLCe++9h9r2VT537hz4fD4+/vhjncT85JNP4OrqCrFYjB49enCXldY15rVr1zBw4EBIJBK0bt0a3333HQBAo9FgyZIlkMlksLe3r3I+hO3bt6Nnz54QiURa8zEAwA8//AAXFxdIJBLMmzcPSqWSW/fgwQMMHDgQZmZm6NmzJ65fv17j16HO9Di6GyGNqqkMa0halsZ63+Xl5bHVq1ezx48fM7VazcLCwpi1tTXLzc1lhw8fZi4uLuz+/fssJSWFdenShX333Xc1jq1Wq1nfvn1Znz592Jo1axhjrF4xt23bxoYNG8YeP37MNBoNu379OissLKxXzC5durDVq1dz8ypYWFiw2NhY9tVXX7Fu3bqxp0+fsrt37zInJyd27NixCmP88ssvLCIigk2fPp0FBQVxy2/cuMFkMhm7ePEiy87OZsOHD2crV67k1vfu3ZutWrWKKRQK9n//93+sVatWDT78MBVv0mJQ8Sb6oM/3naOjI7t06RKbMWMGV3QZY2zXrl1syJAhNY6zfft2tmjRIhYQEMDFqWtMlUrFHB0d2f3798utq0+eFhYW7O7du9z93r17s4MHD7J+/fqxH3/8kVseFBTE5syZU2Ws119/Xat4f/DBB+yVV17h7h8/fpy5ubkxxhi7c+cOMzc315qoxN3dXWsOiIZAh80JIaQZunfvHjIzM9G2bVvExsaia9eu3DovLy/ExMTUKE5GRga+/PJLrF69Wmt5XWMmJSWhoKAA+/fvh729PTp06IBvv/22XjEB4O2330ZISAhUKhUuXryIhIQE9OvXr14xS1UUIyEhAXl5eYiNjUX79u21Bm2pSxu1Rb3NCSGkmVEoFJg1axYCAwMhlUqRl5enNUCMRCKp8dUnK1as4M4Zl1XXmE+ePIFcLsfdu3cRHx+Pe/fuYfjw4ejYsWO98vTx8cGcOXOwdu1aAMD3338PR0fHesUsVVGM0uXPr6trG7VFe96EENKMFBcXY+rUqWjbti1WrVoFALCwsEBOTg63TU5ODiwsLKqNdfXqVfzzzz949dVXy62ra0xTU1MAwKpVq2BqaoquXbtixowZiIqKqnPMzMxMjB07Fp9++imKiopw5coVBAYG4sqVK3WOWVZFMUqXP7+urm3UFu15E0J05p+Tp3D3zHmoCxTg8fkQis3Rb8LLaNWurb5TaxE0Gg1mz54NHo+H3bt3cyMpenp64ubNmxg/fjwA4NatW+jcuXO18U6cOIG4uDg4OzsDAORyOYRCIR48eFDnmO3bt4eRkZHWKI/1zfPBgwcwNzfHlClTAABdu3bFgAEDcOLECS5m6WHvmsYsqzRGqVu3bsHNzQ0WFhbw9PTEvXv3UFRUxB06v3XrFv773//Wqo1aa9Az6oQ0IdRhrWEoFAoWvvkr9tkYX7bdqTPbZ+epddvUqhvbPHMe++Pn/UytVus73UbXmO+7BQsWsCFDhjCFQqG1PDIykrm6urIHDx6w1NRU1rVr1xr14s7Pz2cpKSncbdq0aez9999nWVlZdY7JGGMzZ85kr732GissLGSxsbHMzs6OnTx5ss4xs7OzmUQiYYcOHWIajYbFxMQwOzs79ueff7Jt27ax7t27s7S0NHbv3j3m7OxcaW/z4uJiplAo2IIFC9iKFSuYQqFgKpWK3bhxg1laWrJLly6x7OxsNmLEiHK9zYODg1lhYSH75ptvqLc5IbpExVv3bv5ziX3c70W217ZjuaL9/G2nXUe2bvxUlpGeru+0G1Vjve/i4+MZAGZiYsLMzc2528mTJxljjK1bt45ZW1szmUzG3n33XabRaGrdRtne5vWJmZWVxSZPnswsLCyYh4cH++abb+od88iRI6xbt27MwsKCubm5sQ0bNjDGSi5zW7x4MZNKpczW1pZ9/vnnlcYICgpiALRuu3btYoyV9Hx3cnJiFhYWLCAgQKt3+b1799iAAQOYiYkJ6969O7t69WqNcq4PmlWMtBg0u5NuXT19Fsf/8y7cUrNr/BjGGO529sDCn3fD2ta24ZJrQuh9RxoCdVgjhNRawv0H+OudFbUq3EDJuc32MfH4dr72XO+EkNqh4t2MeHh44PTp0/pOQ2fmzp3LDcUYHR2Ntm2p01NTcWTb1/BISKvTY3k8Hlwv3ELUnhAdZ0VIy0HF28B4eHjAzMwMFhYWcHR0xOLFi6FSqfSdFmlB8vPzkX38XPUbVsGYx8ejyD91lBEhLQ8VbwN09OhR5OXl4eTJk/j555+50YkIaQy/7fgebimZ9Y5j9M8N3Lh0SQcZEdLyUPE2YO3atcPgwYMrHIbvwoUL6N27NyQSCdzd3bF161Zu3fnz59GjRw9IJBI4Oztzs+wEBwdj5syZ8PX1hYWFBQYOHIjU1FQsXLgQUqkUPXv2xMOHD7k4b7/9NpycnCCTyTBy5EgkJCRUmuvff/+NXr16QSKRoF27djh16hSAksEVZs6cCTs7O7Ru3Rq7d++u9nlrNBosWrQINjY2kMlk6N27N549e1bj143UT/q5yxCWuUa3ruyKGa4eOqyDjAhpeah4G7C4uDicOnUK3bt3L7dOJBLhm2++QXZ2Ng4cOICVK1fi6tWrAIAlS5Zg2bJlyMnJwa1btzB06FDucREREViyZAkyMzNhbm6O/v3748UXX0RGRgZ69OihNb7xwIEDcfv2baSkpMDFxQWLFi2qMM+HDx9i4sSJCA4ORlZWFv766y84OjoCAGbPng0nJyckJiYiKioKgYGBuHHjRpXP++jRozh79iwePnyIjIwMfPPNNzAxMSm3XVFREXJycrRupP7Uubob9lGdl6+zWIS0JFS8DZCPjw9kMhl8fHwwd+5czJ8/v9w2PXv2RM+ePcHn89GrVy+MGTMGZ86cAVBS2O/fv4/MzExYWlqiR48e3OOGDx+OwYMHw8jICJMmTYJYLMa0adMgFAoxZcoUrXlqZ8yYAalUClNTU7z//vuVdpYLCwvDyy+/jHHjxkEgEMDNzQ1t27ZFamoqoqOjsX79ehgbG6Njx46YOXMmDh48WOXzF4lEyM3NxZ07d8Dn89GzZ88KhyJcv349pFIpd3N1da3R61tT6enpOo33vMzM+h+aroxGo4Fara7bY3XYx0JTxx7n1FOdtHRUvA3Q77//juzsbDx8+BDr168Hn1/+zxgTE4MRI0bA1tYWUqkUBw8eREZGBgDgu+++Q0xMDNq2bYtBgwbh3Ln/dT6ys7Pjfjc1NS13v+xg+2vXrkXbtm0hkUjQp08fLv7zkpKS0KpVq3LLExISUFhYCFtbW8hkMshkMnzzzTdITU2t8vkPHz4cCxcuxGuvvQZHR0csW7aswg/zwMBAyOVy7paYmFhl3NqybeDrlK2srBosNp/Ph0AgqNNjhWamOstDZG5et8eJRDrLgRBDRMW7mXrrrbfQv39/JCQkQC6XY/LkySgdj6dDhw74+eefkZaWhhkzZsDPz6/W8U+cOIH/+7//Q1RUFORyOS5evFjptq6uroiPjy+33NnZGRYWFsjKykJ2djays7ORm5uLr7/+utr233nnHVy7dg3//PMP/vjjD4SGhpbbxtjYGBKJROtG6s/Y3UUncYqYBuK25b/UEUKqR8W7mcrNzYVMJoOJiQlOnTqFw4f/1zEoNDQUGRkZEAqFEIvFddoDy83NhUgkgo2NDfLz87nrsSvi5+eH3377DVFRUdBoNEhMTMSDBw/g7OyM/v37Y+XKlSgoKIBKpcKVK1cQGxtbZduXLl3CP//8A5VKBbFYDJFIVOe9SFJ7/efMwFOj+n90JLrZY9zc2TrIiJCWh4p3M7Vx40Z89dVXkEgk+PLLL7lZegAgKioKHTp0gFgsxpYtW7Bnz55axx89ejQGDhwId3d3eHl5YcCAAZVu26pVKxw4cAArVqyAVCrF8OHDkZKSAqDki0RSUhJat24NOzs7LFmyBAqFosq25XI55s+fD5lMhg4dOmDgwIGYOXNmrZ8DqZuuvXpB2atLvePYDh8EIyMjHWRESMtDY5uTFoPGmNadI6FhePLeWkhVdfv4SLA0w6TfwlrEVKH0viMNgfa8CSG1NtrfD8X+E6Bgmlo/9pmJCJ1XLWsRhZuQhkLFmxBSJ69tWIO8ORMhr0V3g6cSUzh/uBijZk5vuMQIaQGE+k6AEGKY+Hw+3vhsPX7r2B539kVAduMuLDUVj7yWbCIE69cd/V4NQN+XXmzkTAlpfuicN2kx6Nxjw2GM4eyff+Fa+EEo7j9CcV4BeAI+hBbmkPXwwpD5s9G+s6e+09QLet+RhkDFm7QY9CFK9IHed6Qh0DlvQgghxMBQ8SaEEEIMDBVvQgghxMBQ8SaEEEIMDBVvQgghxMDQdd6EEIOhVquRkZGBzMxMmJmZwcbGBmZmZvpOi5BGR8WbENLkJT95goPbduDB0ZMofvgEgoIiaEQCaKzEcBrcG/2mT8KLL48Bj1fxIDGENDd0nTdpMeh6W8NTVFSEL95ahpTDJ2CZmV9pcS7gA+yF9pi2Zjl6ew9q5CyrRu870hDonDchpEnKz8/HygkzofgxClZZBVXuVZtpAPN/7iIsYDGOHfq1EbMkRD+oeBNCmhy1Wo21s1+DWfQ18GtxKFzyVI6o/36ES6fPNmB2hOgfFW/SZAUHB2PBggUAgPj4eAiF1EWjpTiwczcQda5O57AlKdn4Ze2mBsiKkKaDijepEwsLC+7G4/Fgbm7O3U9ISNB3esTA3Yz4A0a8un88Kc5dx+VzF3SYESFNCxVvUid5eXnczdjYGDExMdx9Nzc3fadHDNi1fy4h/8y1esWQFGnw9669ukmIkCaIijdpFNeuXYO3tzdkMhnc3Nywb98+AIBCocBbb70FJycnuLi4YMOGDTWKt3btWjg6OkIikcDLywuxsbENmT5pRGcPREJSqK53nKRzl3WQDSFNExVv0uDkcjlGjhyJ2bNnIz09HZcvX0anTp0AAMuWLUNmZibu3r2Lixcv4scff0RkZGSV8e7cuYOvv/4aV69ehVwux759+2BlZVVuu6KiIuTk5GjddKW4uBhH9v+ss3jP02g0SElJabD4arUaRUVFDRb/1q0YPHnypE6PLZLr5u+klOdCra7/lwBCmiIq3qTBRUZGol27dliwYAFEIhFsbW3RpUsXMMawa9cufPbZZ7CwsICTkxPeeOMN7N+/v8p4QqEQRUVFuH37NtRqNTp27AgHB4dy261fvx5SqZS7ubq66uw55eTkIPbsSZ3Fe15eXh5uXr/eYPEzMjKQ8Di+weInJT/Bk+TkOj1Wo1LpJAeeWo3i4mKdxCKkqaHiTRpcUlISWrVqVW55eno6FAoFPD09IZPJIJPJsHz5cjx9+rTKeG3btsXnn3+O5cuXw97eHgsWLKhwrzowMBByuZy7JSYm6uw5WVtb479fbNNZvOdJJBKMHD26weLb2dmhXfsODRZ/9MiR6NO7d50eayw210kOfHMzmJiY6CQWIU0NFW/S4FxdXREfH19uuY2NDYyNjfHw4UNkZ2cjOzsbOTk5+P3336uNOXv2bJw7dw5xcXGIj4/HF198UW4bY2NjSCQSrRtp+ly6d0ER09Q7jlXHNjrIhpCmiYo3aXBjx47F3bt3sWvXLhQXFyM9PR23bt0Cn89HQEAAli5diuzsbGg0Gty+fRsXL16sMl5cXByio6OhVCphZmYGY2NjCASCRno2pKG97D8DRV086hVDyTToPnmMbhIipAmi4k0anFQqxZEjR/D999/DxsYGvXr1QlxcHABg06ZNkEql8PLygpWVFebMmYOsrKwq4xUVFeHdd9+FtbU13NzcIJVK8c477zTGUyGNQCAQoM3IIajPtAuKTm4YP8tPh1kR0rTQxCSkxaAJIgxHakoKNo6cBun92ve4Vwh46PzR25jz30UNkFnt0fuONATa8yaENDkOjo7w374RcufylwBWpYjHYDN/YpMp3IQ0FCrehJAmqdegAZgTshVZHZyhqcEBwhxTIZzfmYNlmz9phOwI0S+a6YEQ0mT16NcXbU9FYt//7UBc1N9gl+JgVqYjuoYxZLtYwfWlgZgwzx89+tbt8jRCDA2d8yYtBp17NGyMMUT//gceXb2Jorx8CI2NYGpliQnzZkEsFus7vUrR+440BCrepMWgD1GiD/S+Iw2BznkTQgghBoaKNyGEEGJgqHgTQgghBoaKNyGEEGJgqHgTQgghBoau8yaEkH9duXAeSXduQ61Ugm9kBIdWrdFn8BDweDx9p0aIFirehJAWTaFQ4I/QPci4cA4uTxPhJvrfx2JGsQrf73KErHdfjJo9t0lfT05aFrrOm7QYdL0ted6Fv47hxtdb0V1VABG/8rOIKo0G13lGaBOwAEMnTKpVG/S+Iw2BznkTQlqk6IhfkPTV5+itKayycAOAkM/HCzwVcn/YjiOhexopQ0IqR8WbENLiXD9/Dml7vkMbnqb6jctw5fNQdGAvzh39o4EyI6RmqHgTQlqcK6F70B6qOj3WnccQu2+vjjMipHaoeJMmITg4GCKRCGKxGGKxGF26dEFQUBAKCgq0tjt58iSGDRsGCwsL2NvbY+TIkTh16pSesiaG6F5sLKTx9+oVw/VpEv45eVJHGRFSe1S8SZMREBCA3NxcpKen49tvv8WRI0cwYsQIqNVqAEB0dDR8fHwwadIkJCUlITk5GUuXLkVkZKSeMyeG5OL+cLQ2EtQrhp1IiDu/0/uO6A8Vb9JoeDwetm7dCjc3Nzg4OODTTz+tcDsTExP0798fhw4dwvXr17niHBgYiFdffRWLFi2CTCaDQCDAqFGjsHHjxsZ8GsTAFd2P00mcwnt3dBKHkLqg4k0aVWRkJG7duoXo6Gh88cUX+Ouvvyrd1tHREb169cKZM2eQn5+PCxcuYOLEiTVuq6ioCDk5OVo3XdJoatfZqanFb6k0ioLqN6oBfpECxcXFOolFSG1R8SaNKjAwEBKJBB07dsQrr7yC8PDwKrd3cHBAVlYWsrKywBiDg4NDjdtav349pFIpd3N1da1v+lqUSqVO4z2vsLCwQeO3WDr6UsRnjDulQ0hjo+JNGlXZAurq6oqUlJQqt09JSYGlpSUsLS3B4/GQmppa47YCAwMhl8u5W2JiYp3zroiJiYlO4z3PzMysQeO3VAITU53EUYuMG/w9QEhlqHiTRlW2gCYmJsLR0bHSbVNTU3H58mUMHDgQ5ubm6Nu3LyIiImrclrGxMSQSidaNEKGLm07iCFx0eySHkNqg4k0a1caNG5GTk4O4uDjs3LkT06ZNK7dNUVERLly4gEmTJsHLywvjxo0DAKxbtw47duzAtm3bIJfLodFo8Ndff+GDDz5o7KdBDFjbkaPxrLhu13iXyi9WwWnwUN0kREgdUPEmjWrMmDHo0qULhgwZgkWLFuGll17i1u3evRtisRhWVlZ45ZVXMHz4cBw7dgwCQcllPcOGDUNUVBT2798PZ2dnODg4YOPGjVxxJ6Qm+r34EuJtKj/iUxO3LSwxfPIUHWVESO3RxCSk0fB4PCQmJsLFxUUv7dMEEaTUn+FhYHt3wk5Y+/2XbJUa2WN9MfG1N2q0Pb3vSEOgPW9CSIszYrof0ge+iGxV7XqLF6jVeNC1Lya8urCBMiOkZqh4E0JapJnvfoC0F8cgqbhmBTytWIX7vYdg3uo14PF4DZwdIVUTVr8JIbpBZ2hIU8Lj8TBt8X9xqWdv3Ij6FbzbN9GZrwG/TGFmjOGOGihq3xntR47BnBEj9JgxIf9DxZsQ0qL1GjwYvQYPRsazZzgeFgp1VibURYUQGBuDJ5Zi6LQZcHR21neahGihDmukxaCOQ0Qf6H1HGgKd8yaEEEIMDBVvQgghxMBQ8SaEEEIMDBVvQgghxMBQ8SaEEEIMDBVvQgghxMBQ8SaEEEIMDBVvQgghxMBQ8SaEEEIMDBVvQgghBmXu3Ln4+OOPa/24+Ph4CIWVjwq+cOFCfPLJJwCA6OhotG3bllvXuXNnnDt3rvbJNhAa25wQQpopDw8PpKenIy0tDebm5gCAgoIC2Nvbw9raGvHx8fpNsIn5+uuvK10XExPD/R4cHIykpCR89913jZFWhWjPuwkLDg6GSCSCWCyGWCxGly5dEBQUhIKCAq3tTp48iWHDhsHCwgL29vYYOXIkTp06paesCSFNibOzMw4dOsTdj4iIgKOjo/4SqgGVSqXvFJo8Kt5NXEBAAHJzc5Geno5vv/0WR44cwYgRI6BWl8xBHB0dDR8fH0yaNAlJSUlITk7G0qVLERkZWe+2S9toSLr6J6V/dkIq5ufnh9DQUO5+SEgI/P39tbZJSEjA2LFjYW1tjU6dOuHIkSPcup07d6J9+/YQi8Xo2rUroqOjuXVDhw5FUFAQevXqBYlEgunTp6OoqKjCPObOnYu3334b3t7ekEgkePnll5GZmQngf4eog4KCYGNjg6CgIGRlZcHPzw82NjZo06YNvvnmG614T58+rTAWAEyePBl2dnawsrLC1KlTtdYBwPbt22Fvbw83NzeEhIRo5VjZ4XgPDw+cPn0a0dHRWLduHXbv3g0LCwv4+Phg3bp1mDt3rtb23t7e2Lt3b4WxdIIRvQLAtmzZwlxdXZm9vT375JNPuHVBQUHslVde0do+OTmZmZubs0OHDjHGGOvXrx9bvHhxjdtzd3dnGzduZO3atWNWVlZs6dKlTK1Wc+3NmDGDTZ48mZmbm7OjR4+yx48fszFjxjArKyvWsWNH9vvvv3Ox0tLSmJ+fH7O1tWXW1tbs/fffrzDv48ePszZt2jDGGHv06BETCARs+/btzMnJifn7+7O4uDg2cOBAJhaLmZ2dHVu2bBn32K+++oq1atWK2djYMH9/f5adna0Vc9WqVcza2potX7682ucul8sZACaXy2v8ehFSX/p837m7u7Po6Gjm4uLC0tLSWFpaGnNxcWGnT59m7u7ujDHG1Go169q1K9u8eTMrLi5mZ8+eZTY2Niw1NZUxxtjhw4dZQkICU6lUbMeOHcze3p4VFhYyxhjz9vZmHTt2ZPHx8SwrK4t5enqynTt3VphLQEAAk0ql7Pz586ygoID5+fmxWbNmMcZK/p8FAgFbvXo1UyqVrKCggM2cOZPNmDGD5efns+vXrzMbGxsWHR1dbSzGGPvxxx9ZXl4ey87OZqNGjeI+Ix89esQAsLlz5zKFQsHOnDnDxGIxi4uL4+KuWbOGy6n0c6v0tTx16hRjrPxnXHx8PJPJZEyhUDDGGEtMTGRisZjl5eXV/Y9XDdrzbgIiIyNx69YtREdH44svvsBff/1V6baOjo7o1asXzpw5g/z8fFy4cAETJ06sVXthYWE4efIkbt68id9//x27du3i1v3yyy94/fXXkZOTg4EDB+Lll1/GqFGj8PTpU+zcuROzZ8/G06dPAQD+/v4wMzPDgwcPkJiYiAkTJtSofbVajWvXruHBgwf49ttvsWrVKowdOxZyuRwPHz7E1KlTAQB//vkn1qxZg8jISMTHx0OhUGDx4sVcnPj4eAgEAqSkpGDlypXl2ikqKkJOTo7WzZAwmq1XbwztvVIVgUCAKVOmIDw8HOHh4fD19YVAIODWX7x4EQqFAosWLYJQKET//v3h7e2N33//HQAwZswYuLq6QiAQ4NVXXwWPx8O9e/e4xy9YsADu7u6QyWQYO3Ysrl+/XmkuEydORN++fWFqaoqPPvoI+/bt497nxsbGWL58OUQiEYyMjLBv3z6sW7cOZmZm6Nq1KxYsWKC1J1tVrFmzZsHc3BxSqRTvvPMOTp8+rZVHUFAQTExMMGDAAIwfPx779++v12vs7u4OLy8vREVFAQDCw8Mxbtw4rp9BQ6Di3QQEBgZCIpGgY8eOeOWVVxAeHl7l9g4ODsjKykJWVhYYY3BwcKhVe4sXL4aDgwOcnJzwzjvvaLXn7e2NkSNHgs/n48aNG5X+Uz958gTR0dHYvHkzxGIxTE1N0b9//xrnUPrPY2pqCpFIhMePHyM1NRXm5ubo06cPAOCnn37Ca6+9Bk9PT5ibm2PdunUIDw+v8J/d1NS0XBvr16+HVCrlbq6urrV6nfSNirf+pD5N03cKOuXv74+9e/ciNDS0wkPmjx49gkwm425HjhxBSkoKAODQoUPo2bMnty4tLQ0ZGRnc4+3t7bnfzczMkJeXV2keZf8HXV1dUVRUxB3SdnBw4HqCP3v2DMXFxXBzc+O2d3d3R3JycrWxVCoVlixZAnd3d0gkEkyZMkUr34oeW/pc62PWrFkICwsDULKDNHPmzHrHrAoV7yagtm+klJQUWFpawtLSEjweD6mpqTprz8XFhfu9qn/qpKQk2NnZ1embJZ/P1+ow88knn0CpVKJ79+7o0aMHfvvtNwBAcnJyuX/ewsLCCv/ZKxIYGAi5XM7dEhMTa52rPvH59O+pL+3bta1+IwPSq1cvZGZmIisrC71799Za5+zsjE6dOiE7O5u75eXlITAwEEVFRfDz88PatWuRkZGB7Oxs2NnZ1fmLZdn/wcTERBgbG8PKygoAwOPxuHU2NjYQiURISEjgliUkJMDJyanaWKGhoYiOjsbZs2eRk5OD/fv3l8v3+cfWtgNf2VxLTZ06FceOHcPly5cRHx+PUaNG1SpmbdGnQxNQmzdSamoqLl++jIEDB8Lc3Bx9+/ZFRESEztor+6as6p/a1dUV6enp5Xq+A4C5uTkUCgV3v/Qwe0VtACWnAnbu3InU1FQEBwdj2rRpKCwshJOTU7l/XhMTkwr/2StibGwMiUSidSOkpTp48CAOHjxYbnnfvn2h0Wiwfft2KJVKKJVKnDp1CgkJCSgqKoJSqYSdnR0AYPPmzUhPT69zDhEREfjnn3+gUCgQHByMKVOmVPh/XHqof+XKlSgoKMCtW7fw/fffY8aMGdXGys3NhYmJCSwtLfHs2TN89tln5eKvWbMGhYWFOH/+PH799Vf4+vrW6nnY2dnh8ePHWl8KLC0tMWzYMAQEBGDq1KkQiUS1illbVLybgI0bNyInJwdxcXHYuXMnpk2bVm6boqIiXLhwAZMmTYKXlxfGjRsHAFi3bh127NiBbdu2QS6XQ6PR4K+//sIHH3xQaXtbt27F06dPkZKSgi+//LLC9oCq/6mdnJzg7e2Nd955B3l5eVAoFDh//jwAoFu3boiOjkZqairS0tKwefPmKp///v37kZycDB6PB5lMBh6PBx6Ph+nTp+Pbb7/F7du3kZ+fjxUrVmDatGnVFm1CSHmenp7w9PQst1woFOLw4cP4448/4OzsDCcnJ6xduxYajQYSiQSffvopRo0aBQcHB2RkZGgNXFJb/v7+WLZsGezt7ZGVlYUvv/yy0m23bdsGlUoFV1dXjB8/HsHBwRg2bFi1sebMmQNLS0vY29tj8ODBGD16tFZcgUCAXr16wc3NDVOnTsXWrVvRoUOHWj2PKVOmIC8vD5aWltxnMVBy6DwmJqbBD5kDoN7m+oYyvc3t7OzY+vXruXVBQUFMKBQyCwsLZmZmxjp37sxWrFhRrgdjdHQ08/b2Zubm5szW1paNGDGC6xX5PHd3d7Zhwwaut/mSJUuYSqXi2nu+d3t8fDybMGECs7GxYdbW1mzUqFHs0aNHjLGS3ubTpk1j1tbWzMbGhgUGBjLGGNNoNOy1115jUqmUeXp6ss8++6xcb/Oy3n33Xebg4MDMzc1Zp06duJ70jDG2ZcsW5uHhwaytrZmfnx/LzMxkjJXvCVoT1Nuc6AO970qU7cndXP3zzz/Mzc2NaTSaBm+Lxxj1itEnHo+HxMRErXPNDcnDwwMhISEYNGhQo7TXlOTk5EAqlUIul9MhdNJo6H1XYu7cuWjbtm2FV4Y0B2q1GvPnz0erVq0QHBzc4O3RYXNCCCGkHjIzMyGVShEbG4slS5Y0Sps0tjkhhJAG98MPP+g7hQZjZWVV5SVyDYGKt5419lkLmoiAEEIMHx02J4QQQgwMFW9CCCHEwFDxJoQQQgwMnfMmhBADV1hYCKVSqe80SA0YGRnBxMSk3nGoeBNCiAErLCyEqdgKUCmq35jonYODAx49elTvAk7FmxBCDJhSqQRUChh19YfAVAKB0Ah8oQgCkQl4IiMIjUzAFxqBLzCCwNgEAqEQApEAfAEfAgEfQiM+BAIehEIBeEI+hCI+BMKSdUYiAYyEfJgZ8SESlPxuIhLAWMiHqUgAkZAPIyEPJkYCiPh8mAj4EPJ5EAr4MBHyIeLzYCTgQ8Tnw1jIg0jAg4DPg4jPg4DHg4CPkp88HkR8QMAvWS/glfzOVxcDGjV46mJAowJPowLUxeBp1OCplYD6358aFZiqGKyosORncSFYcTFQ+rtK9e86JTQqNdSFSmiUxVAXKaEuVkNdpIRGqYK6WPW/3wuLoVapoVZqoFKooFGV/OSWFaqgLtZArVChWKOBUsNQqGElP9UlPxVqBhX737I8pkZo6hMolUoq3oQQQgAIjMATGoMnNAJPKAJPZAK+yAh8kWlJ8RYagW9kCn5p8f63QAuM/v3577KyxVtkVFKgRUYCGAlLirfxv8Xb2KjkvpGQD9PS4v1vwS5bvI2F/P+te654C0sLdpniLayweJcUaJ66tHirtIu3urikaIsEYColmJL/b/FWgil5JesEAFPxoSlWQc3jQS3g//tTBTUADY8PNZ8PNWNQgwe1BlDz+FAzNVQqQA0NVEJAzXhQC9RQCRjUah5UfIZi8CAEA48xCHgM4DHweQyMp0ExGHg8Bg2PwUiHlwZThzVCCCHEwFDxJoQQQgwMFW9CCCHEwFDxJoQQQgwMFW9CCCHEwFDxJoQQQgwMFW9CCCHEwFDxJoQQQgwMFW9CCCHEwNAIa6TFYP+ObpSTk6PnTEhLUvp+YzocXatCaiWYqggMDAwaMB4PGmig4QFg6pKRyngMPI0QaiYAU/MBAR88xgcEPPDUAmiEfEDNBxPywQR88NUlQ6YWq/mAQAAI+eCL/v1ZXLK9RsgDigVQ8UseU/zvCGuaf0dYU/07PKrKUIZHVRaX/K78d3jUYg1Uxf8Oj6pSQa1WQ63WQKVWQ63RQK1R/294VMagZNo/Vf/+rmQMSmh09uem4k1ajNzcXACAq6urnjMhLVFubi6kUqnO4zLGYGFhgbwboTqPTXTPwsJCJ1/kqHiTFsPJyQmJiYkQi8Xg8Xj1ipWTkwNXV1ckJiZCIpHoKEOK3xzjM8aQm5sLJycnHWWnjcfjIS8vr8FeC31p6L+xPpQ+p/p+/gBUvEkLwufz4eLiotOYEomkQT9YKH7ziN8Qe9zPa+jXQl+a6/OqL+qwRgghhBgYKt6EEEKIgaHiTUgdGBsbIygoCMbGxhSf4uuVIeVaG83xeenyOfFYg1+/QAghhBBdoj1vQgghxMBQ8SaEEEIMDBVvQgghxMBQ8SaEEEIMDBVvQggxAOnp6Rg7dizMzc3RoUMH/PXXXxVup1AoMGvWLIjFYri5uSEsLKyRM625mj6nuXPnwtjYGBYWFrCwsEDnzp0bOdOa2759O3r27AmRSITg4OBKt9NoNFiyZAlkMhns7e2xadOmWrVDI6wRUoV27drVaCjDu3fvNkI2LYtIJKrytWeMgcfjQalUNmJW+vOf//wHDg4OSE9Px7FjxzBt2jTcu3cPVlZWWtsFBQXh2bNnePLkCWJjY+Hj44OePXuiQ4cOesq8cjV9TgDw4YcfYuXKlXrIsnYcHR0RHByMvXv3Vrnd119/jejoaNy9exdyuRxDhw5F165dMXz48Bq1Q8WbkCp89913Dd7G2bNna7TdgAED6t3Whg0b8MEHH5Rb/sknn+C9996rd3xdun//fqO2d+DAAXTq1Amenp7cspiYGNy9exeTJk1q1Fyel5eXh0OHDuHhw4cwMzPD+PHj4eXlhYiICMybN09r2x9//BH79u2DRCJBv379MGHCBOzduxerV6/WU/YVq81zMiQTJ04EAERFRVW53Y8//ohly5bBzs4OdnZ2ePXVV7Fnzx4q3oTogre3d4O34e/vz/3O4/GQlJQEHo8Ha2trZGRkgDEGFxcXPHz4sN5trVu3rsLivWHDBp0U76SkJCxatAinT59GRkaG1jq1Wl2rWO7u7vXOpzaWLl2Ky5cvay2zt7fHuHHj9F687927BwsLC62x+b28vBATE6O1XVZWFlJTU9G1a1et7c6dO9doudZUTZ9TqU2bNmHTpk3o0KED1q9f3yj/mw0pNja23N8pMjKyxo+n4k1IFdatW1ej7ZYvX17nNh49esT9/tFHHyE/Px/BwcEwNTWFQqHA6tWrYW5uXuf4ALhDeCqVCmFhYVpTEsbHx8Pa2rpe8UstWLAALi4uOHXqFPr27YuLFy9izZo1GDRoUK1jvfbaazXabseOHbWOXRG5XA6ZTKa1TCaTISsrSyfx6yMvL6/c5BwSiaTcF6S8vDwAgFgs1tqudHlTUtPnBACLFy/Gpk2bYG5ujn379mH8+PG4ceNGo3/B06Xnn39t/05UvAmpwr179xq1vS1btiA1NRVCYcm/pqmpKdasWQMHBwd8+OGHdY777bffAgCUSqVWsePxeLCzs8MPP/xQr7xLXbx4EREREdzwj+3bt8f27dvRrVs3vP7667WK5ezsrJOcaqpbt27Ys2eP1iHb0NBQeHl5NWoeFbGwsEBOTo7WspycHFhYWJTbDiiZO7y0MFS0XVNQ0+cEAD169OB+9/f3x48//oijR4/i1VdfbfA8G8rzz7+2fycq3oRUYdeuXY3anqWlJf7880/4+Phwy/766y9YWlrWK+7x48cBAB9//HGDdvoxNTVFcXExjI2NYWtriwcPHsDKygrp6em1jhUUFNQAGVbuyy+/xKhRo7Bz5060atUKjx49wr1793DkyJFGzaMi7dq1Q15eHp48ecJ9qbl16xbmzJmjtZ2lpSUcHBxw8+ZNDBw4kNuuKfbOrulzqgifz4ehj+zt6emJmzdvcofOa/13YoSQGrt58yZbvXo1e/PNNxljjN2+fZtduXJFZ/GjoqKYWCxmw4YNY3PmzGFDhw5lEomEHT58WCfxb9++zZ4+fcoYYyw3N5etXr2affzxxyw/P18n8d9++20WHh7OGGPs448/Zs7OzqxVq1bM39+/3rEPHz7M5s2bx8aOHcsYY+zixYvs6NGj9Y5bllwuZ6GhoWzjxo1s7969TC6X6zR+fUyZMoW98sorrKCggP3222/MysqKZWRklNtu2bJlbPTo0SwnJ4dduHCBWVpasjt37ugh4+rV9Dnt37+f5eXlseLiYvbTTz8xCwsL9uDBAz1kXL3i4mKmUCjYggUL2IoVK5hCoWAqlarcdtu2bWPdu3dnaWlp7N69e8zZ2ZkdO3asxu1Q8Sakhnbv3s2cnZ3ZsmXLmEQiYYwxduXKFebt7a3TdtLS0tju3bvZhg0b2O7du1l6errOYnft2pXFxcUxxhh79dVX2UsvvcTGjh2rk+JakejoaBYZGVnhh1dtbNiwgXXp0oVt27aNSaVSxljJF5E+ffroIEvDkJaWxnx8fJipqSlr164d+/PPPxljjIWEhDBPT09uu4KCAjZz5kxmbm7OXFxcWGhoqL5SrlZNn9PAgQOZRCJhEomE9enTp1ZFrrEFBQUxAFq3Xbt2sZMnTzJzc3NuO7VazRYvXsykUimztbVln3/+ea3aoVnFCKmhtm3bIioqCu3bt4elpSWysrKgUqng4OCAZ8+e6Tu9GpFKpZDL5VCr1XBwcEBcXBxMTEzg4eGBtLQ0fadXKTc3N1y8eBEODg7ca88Yg7W1NTIzM+scd8KECYiIiAAAjBgxotLryo8ePVrnNghpCHTOm5Aays3NRevWrQGA+5AvLi6GSCSqV9zGLCDm5uZIT09HTEwM2rVrBysrKxQXF6OoqKjesYGSnuurV6/G9evXy/Wcrc9ANmq1GlKpFMD/XntddMSaPn069/usWbPqFYuQxkTFm5Aaeumll7BixQqty8fWrl2LUaNG1StuYxaQ//znP3jhhRegVCrx+eefAygZJEZXo29NmTIF3bt3x7p162BqaqqTmAAwadIkvPrqq/jss88AlFzW9c4778DX17decWfOnMn93rZtW66TV1k1HUSHkMZEh80JqaGsrCzMnj0b0dHRKCwshFgsRv/+/REaGlrv3uCNKS4uDkKhEG3atAFQskdcVFSkk0uiZDIZMjMzwefrdtqEwsJCLF26FD/88AMUCgVMTEwQEBCAL774QmdfEiQSSblLlwDAysqqXofmCWkIVLwJqaWnT58iISEBzs7OcHJy0nn8PXv2ICwsDMnJyXBycoKfn1+NLp+pjYKCAm70tlJubm71jvvGG2/gpZdeqvcecVXS09NhY2NTozHnayI5ORlAyTXp9+7d03pNHj16BF9fX6SmpuqkLUJ0hYo3ITV05swZODo6cue9gZIP95SUFJ2MOw4Aa9asQUhICJYuXQp3d3c8fvwYmzZtwsyZM+s1SEupmzdvYs6cObhx4wa3jMfjwcjICAUFBfWO//TpU/Tv3x8SiQR2dnZa6+pzzr4hxx3n8/ng8XgVXjdsb2+PVatW4Y033qhXG4ToGhVvQmqodMrCsmMxJyUl4aWXXsKdO3d00oaHhwdOnToFV1dXblliYiIGDhyIhISEescfOHAgRowYgQ8++ACOjo5ISUnBqlWr0KZNm1qPgFaRwYMHw8zMDJMmTSp3ODsgIKDOcT08PHD58mWtYVyfPXuG3r17aw0vWx+jRo3CH3/8oZNYhDQ0Kt6E1JBUKkV2drbW4VrGGKRSaYXnSuvC0dERcXFxWmMeZ2dno2PHjjo5dCuTyZCRkQGBQMBdcqVUKtG6dWskJSXVO75YLEZWVhY3vKuuWFpa4tmzZxAIBNwylUoFGxsbZGdn67QtQgyBbnuVENKMtW/fvtxQmX/88Qfatm2rszYmT56MiRMn4uTJk3j06BFOnDiBKVOm6Owcskwmg1wuB1AydvjVq1fx9OlTnU1cMWrUKFy8eFEnscoqHXe8LF2MOz5hwgTu9xEjRmDkyJEV3ghpauhSMUJqaOPGjZg0aRLGjx/PjX0dGRmJAwcO6KyNL774Ah999BHmz5+P5ORkODs7Y9q0aTo53w0Ar7/+Ok6ePImJEydi8eLFGDx4MAQCQY1n8KqOsbExRo0aheHDh5c7512f2b8aatxxus6bGCo6bE5ILTx69AhhYWFISkqCq6sr/Pz84OHhoe+06uzx48fIy8vT2cQVq1evrnRdfScaycnJQWRkJPfajx07ttyUknWlVqsRHByMlStXcjOiEdKUUfEmRM9qOghIfXq0l+0hX5mHDx/WOX5zYGtri9TUVK3z6oQ0VVS8CdGzVq1aVbsNj8erV3EVi8VwcnLCrFmz8NJLL1U4iErfvn3rHL/U5s2bMXToUHTr1g3nz5+Hn58fhEIhfvzxR/Tr16/e8RtScHAwRCIRAgMDdT7IDCG6RsWbkBZAoVAgIiICISEhuHnzJnx9feHv748XXnhBp+24urri1q1bkEqlGDJkCKZPnw4LCwts27YN//zzj07b0rV27dohPj4eJiYmcHBw0LqqoD7jshPSEKh4E9LEKJVKnD9/HsnJyZgxYwZyc3MBlOw968KzZ88QHh6OvXv3Ijs7GwcOHEDHjh11Ert01rKsrCy0bdsW6enp4PP53PLaSkpK0rquviGdOHGi0nXe3t6NkgMhNUW9zQmpo8zMTFhZWek05uXLlzF58mTY2dnhzp07mDFjBs6ePYtvv/0W+/fv10kbZfcoNRqNTmKWatOmDcLCwnD//n3u8HxmZiaMjIzqFM/T01Nn19BXhwo0MSS0501INeRyOdasWYPbt2+jX79+WLhwIcaMGYMrV67Azs4OERER6NOnj07a6t27Nz788EOMHz+eG0RFoVCgdevWSElJqXNchUKBQ4cOISQkBLdu3cKUKVMwc+ZMnR82v3DhApYsWQIjIyN89913aNeuHfbu3YuoqCiEhITUOp5YLOaOPDSEqqZgLYvm8yZNDRVvQqoxY8YMFBUVYfz48Th06BDu3buHCRMmYPbs2QgNDcWJEydw+vRpnbRlZWWFjIwM8Hg8bjYrtVoNOzs7ZGRk1DmuWCyGs7Mz/Pz88OKLL1bYo1pX47PrklgsRmxsbIXjjpeqz4Qqu3fv5n6/d+8e9uzZg4CAALi6uiIxMRF79uzBnDlzsGbNmjq3QUhDoOJNSDVsbW2RkJAAU1NT5OTkwMrKCgqFAiKRCMXFxbCzs0NWVpZO2vL29sY777yDiRMncsU7IiICW7duxbFjx+oc18PDg9vDrGgSjvr2Zi/r+vXrOHPmTLlZy1atWlXrWHw+HyYmJpUWbx6Pp5MJVQCgV69eCA0N1ZrbPC4uDv7+/rh06ZJO2iBEV+icNyHVKCoq4ibZkEgkkEgkEIlEAACRSAS1Wq2ztrZt2wYfHx98/fXXKCgowMSJE3H16lUcPny4XnHj4+N1k2A1tm3bhpUrV2LMmDH45ZdfMGnSJBw+fFhrGNLaMDc3b9DD5mU9ePCgXOc4JycnPHjwoFHaJ6Q2qHgTUg21Wo1z585xe3/P39dlpy8vLy/ExcUhMjISw4cPh7OzM/bs2aOzkcQa2ueff46///4bPXv2hEwmw969e3Hq1Cls2bKlTvF0NWd3TYwZMwaTJk3Chx9+CBcXFyQmJmLdunXw8fFptBwIqSk6bE5INcoecq6Mrqal/OmnnzBx4kSYmJjoJF5jK3tJmJ2dHZKSkmBkZFTnS8UausNaWQUFBQgODsb+/fuRkpICR0dHTJkyBUFBQTA3N2+UHAipKSrehDQhQ4cOxbVr1zBu3Dj4+/tj5MiRBjVcZ58+fbBjxw50794dI0eOxIABAyCTybBt2zbcv39f3+kR0mxQ8SakiXny5AnCw8MRFhaGx48fY+rUqfD392+SvcGfd/HiRYhEIvTo0QOxsbF46623kJubi40bN+LFF1/Ud3rVevToEW7evFluitSZM2fqKSNCKkbFm5Am7MqVKwgICEBsbCzc3Nwwb948LFmyxGDOgRuSDRs2YPXq1ejatSvMzMy45TweD3///bceMyOkPCrehDQxSqUSUVFRCAsLw7FjxzB06FDMmjULbm5u2Lp1K+7cuYPz58/rO01OY8yK1hjs7Oxw/PhxnU2PSkhDouJNSBMyb948REREwMvLC7NmzcLUqVMhk8m49Wq1GjKZrNE6cdVE6axoZTv1NeR15A2ldevWiImJ4S4LJKQpo0vFCGlCOnTogOvXr8PV1bXC9QKBAAkJCY2cVdUePXoEtVqNb7/9FjExMejRowfmzZvXqJd56cJ7772HuXPnIjAwEHZ2dlrrnJyc9JQVIRWjPW9CmoDWrVtXu01T3nN955138PPPP2PQoEE4deoU5s+fj48//ljfadVKZXN483g8nQ7EQ4guUPEmpAkQi8VwcnLCrFmzuNm4nte3b189ZFYzzs7OOHHiBNq2bYu4uDiMHTuWLg0jpAFR8SakCVAoFIiIiEBISAhu3rwJX19f+Pv763zWr4YikUi0pu4sHZfd0DT0XOqE6AoVb0KamGfPniE8PBx79+5FdnY2Dhw4gI4dO+o7rSqZm5vj2LFjXEc1Hx8fHDlyRKvjWlPvbf78XOq5ubn4448/dDqXOiG6Qh3WCGliynb00uW46Q3J1tZWayATKysrrfuG0Nt84cKF2Lp1KzeXOgAMGTIEc+fO1W9ihFSA9rwJaQIUCgUOHTqEkJAQ3Lp1C1OmTMHMmTMN5rB5c9BQc6kT0hBoz5uQJsDOzg7Ozs7w8/PDBx98AIFAgKKiIq0BUJr6YWdD5+XlhYiICEycOJFbFhkZiR49eugvKUIqQXvehDQBZWcu4/F4BjnIiaG7efMmfHx80KVLF0RHR2P06NHcXOpdunTRd3qEaKHiTQghKBkV7tatW/jtt9+g0WjQpk0bjB07lsaRJ00SHTYnhLR4O3bswMqVK5GRkcEd9bCxsYFcLsfChQv1nB0h5VU8pBAhhLQQv/32G9577z18+OGHePjwIRQKBR4+fIgPP/wQy5cvx6+//qrvFAkphw6bE0JatJEjR2LatGlYsGBBuXXff/89fvrpJ/z55596yIyQylHxJoS0aLa2trhz5w6sra3LrcvMzET79u3x7NkzPWRGSOXosDkhpEUrKiqqsHADJdd+K5XKRs6IkOpRhzVCSIumVqtx7ty5cpfnlTKUUe5Iy0KHzQkhLVrZa+wr8+jRo0bKhpCaoeJNCCGEGBg6500IIYQYGCrehBBCiIGh4k0IIYQYGCrehBBCiIGh4k0IIYQYGCrehBBCiIGh4k0IIYQYGCrehBBCiIH5f1XMiRUQydseAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 372x1010 with 5 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "ename": "AttributeError",
     "evalue": "module 'scanpy' has no attribute '_settings'",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "Cell \u001b[0;32mIn[6], line 7\u001b[0m\n\u001b[1;32m      2\u001b[0m predictions \u001b[39m=\u001b[39m celltypist\u001b[39m.\u001b[39mannotate(dat_immune_raw, model \u001b[39m=\u001b[39m model)\u001b[39m#, majority_voting=True)\u001b[39;00m\n\u001b[1;32m      4\u001b[0m \u001b[39m#Examine the correspondence between CellTypist predictions (`use_as_prediction`) and manual annotations (`use_as_reference`).\u001b[39;00m\n\u001b[1;32m      5\u001b[0m \u001b[39m#Here, `predicted_labels` from `predictions.predicted_labels` is used as the prediction result from CellTypist.\u001b[39;00m\n\u001b[1;32m      6\u001b[0m \u001b[39m#`use_as_prediction` can be also set as `majority_voting` (see `1.7.`).\u001b[39;00m\n\u001b[0;32m----> 7\u001b[0m celltypist\u001b[39m.\u001b[39;49mdotplot(predictions, use_as_reference \u001b[39m=\u001b[39;49m \u001b[39m'\u001b[39;49m\u001b[39mrefined_celltypes\u001b[39;49m\u001b[39m'\u001b[39;49m, use_as_prediction \u001b[39m=\u001b[39;49m \u001b[39m'\u001b[39;49m\u001b[39mpredicted_labels\u001b[39;49m\u001b[39m'\u001b[39;49m)\n\u001b[1;32m      8\u001b[0m plt\u001b[39m.\u001b[39mtight_layout()\n\u001b[1;32m      9\u001b[0m plt\u001b[39m.\u001b[39msavefig(\u001b[39m'\u001b[39m\u001b[39m./celltypist_dir/output_dotplot.png\u001b[39m\u001b[39m'\u001b[39m)\n",
      "File \u001b[0;32m~/.conda/envs/celltypist/lib/python3.8/site-packages/celltypist/plot.py:185\u001b[0m, in \u001b[0;36mdotplot\u001b[0;34m(predictions, use_as_reference, use_as_prediction, prediction_order, reference_order, filter_prediction, cmap, vmin, vmax, colorbar_title, dot_min, dot_max, smallest_dot, size_title, swap_axes, title, figsize, show, save, ax, return_fig, **kwds)\u001b[0m\n\u001b[1;32m    183\u001b[0m dp\u001b[39m.\u001b[39mmake_figure()\n\u001b[1;32m    184\u001b[0m sc\u001b[39m.\u001b[39mpl\u001b[39m.\u001b[39m_utils\u001b[39m.\u001b[39msavefig_or_show(\u001b[39m'\u001b[39m\u001b[39mCellTypist_dotplot_\u001b[39m\u001b[39m'\u001b[39m, show \u001b[39m=\u001b[39m show, save \u001b[39m=\u001b[39m save)\n\u001b[0;32m--> 185\u001b[0m show \u001b[39m=\u001b[39m sc\u001b[39m.\u001b[39;49m_settings\u001b[39m.\u001b[39msettings\u001b[39m.\u001b[39mautoshow \u001b[39mif\u001b[39;00m show \u001b[39mis\u001b[39;00m \u001b[39mNone\u001b[39;00m \u001b[39melse\u001b[39;00m show\n\u001b[1;32m    186\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mnot\u001b[39;00m show:\n\u001b[1;32m    187\u001b[0m     \u001b[39mreturn\u001b[39;00m dp\u001b[39m.\u001b[39mget_axes()\n",
      "\u001b[0;31mAttributeError\u001b[0m: module 'scanpy' has no attribute '_settings'"
     ]
    }
   ],
   "source": [
    "\n",
    "#Alternatively, the model argument can be a previously loaded `Model` as in 1.4.\n",
    "predictions = celltypist.annotate(dat_immune_raw, model = model)#, majority_voting=True)\n",
    "\n",
    "#Examine the correspondence between CellTypist predictions (`use_as_prediction`) and manual annotations (`use_as_reference`).\n",
    "#Here, `predicted_labels` from `predictions.predicted_labels` is used as the prediction result from CellTypist.\n",
    "#`use_as_prediction` can be also set as `majority_voting` (see `1.7.`).\n",
    "celltypist.dotplot(predictions, use_as_reference = 'refined_celltypes', use_as_prediction = 'predicted_labels')\n",
    "plt.tight_layout()\n",
    "plt.savefig('./celltypist_dir/output_dotplot.png')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Unfiltered predictions:\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "predicted_labels          \n",
       "T cells                       100779\n",
       "B cells                        13488\n",
       "Macrophages                    12991\n",
       "Mast cells                      9208\n",
       "ILC                             8959\n",
       "DC                              6498\n",
       "Monocytes                       4006\n",
       "Plasma cells                    1300\n",
       "Mono-mac                         483\n",
       "pDC                              449\n",
       "MNP                              304\n",
       "Epithelial cells                 280\n",
       "Endothelial cells                159\n",
       "Myelocytes                       120\n",
       "Double-positive thymocytes        66\n",
       "Fibroblasts                       18\n",
       "Cycling cells                     14\n",
       "HSC/MPP                            7\n",
       "ETP                                6\n",
       "DC precursor                       6\n",
       "B-cell lineage                     5\n",
       "Double-negative thymocytes         4\n",
       "ILC precursor                      2\n",
       "pDC precursor                      2\n",
       "Megakaryocyte precursor            1\n",
       "Granulocytes                       1\n",
       "Name: count, dtype: int64"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print('Unfiltered predictions:')\n",
    "predictions.predicted_labels.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "probability_threshold = 0.99\n",
    "n_cells_threshold = 100"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "idxs = predictions.probability_matrix[predictions.probability_matrix.max(axis=1)>probability_threshold].index\n",
    "immune_subset = predictions.predicted_labels.loc[idxs]\n",
    "\n",
    "immune_subset# Calculate the value counts of each element in 'predicted_labels'\n",
    "value_counts = immune_subset['predicted_labels'].value_counts()\n",
    "\n",
    "# Get the elements that occur at least 1000 times\n",
    "elements_100_times = value_counts[value_counts >= n_cells_threshold].index\n",
    "\n",
    "# Subset the DataFrame based on the elements\n",
    "immune_subset = immune_subset[immune_subset['predicted_labels'].isin(elements_100_times)]\n",
    "\n",
    "immune_subset['predicted_labels'] = immune_subset['predicted_labels'].cat.remove_unused_categories()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Filtered predictions:\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "predicted_labels\n",
       "T cells             71600\n",
       "B cells             11686\n",
       "ILC                  5359\n",
       "Mast cells           4885\n",
       "Macrophages          2952\n",
       "Monocytes             994\n",
       "Plasma cells          670\n",
       "DC                    516\n",
       "Name: count, dtype: int64"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print('Filtered predictions:')\n",
    "immune_subset.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "from datetime import datetime\n",
    "current_date = datetime.today().strftime('%Y%m%d')\n",
    "\n",
    "immune_subset.to_csv('./celltypist_dir/celltypist_predicted_labels_'+current_date+'.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "celltypist",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.17"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
